|
You're probably doing something wrong. I just tried it and had no trouble at all. Xml is perfectly capable of storing the text and giving it back.
You would need to show us the code you are using to determine what's wrong. Whatever the problem is, Replace isn't the best solution. Even if you think Replace is "good enough" for the particular program you're working on, it is not a good general solution and finding a better one will help you become a better developer.
P.S. What you posted will not produce well-formed XML if the user enters characters that aren't allowed. Try something like:
System.Xml.XmlNode nod = doc.CreateElement ( "Content" ) ;
nod.InnerText = this.textBox1.Text ;
Then write the nod.OuterXml to the database so any such characters get encoded properly.
modified 20-Nov-12 16:21pm.
|
|
|
|
|
Yes because every environment is storing new lines in the same way and it is always CR+LF.
He wrote clearly: Quote: "But, I only can wirte and read "\n" of the text box in xml string, so I can't reload the original paragraph."
Maybe his xmls are from some Unix-like system. Did you thought about that?
But you probably right he should write some kind of a xml-string-chunks-read-write-wrapper 500 lines long to deal with that.
No more Mister Nice Guy... >: |
|
|
|
|
|
n.podbielski wrote: I only can wirte and read
I read "can" as "know how to". If he has a Winforms app with a (multiline) TextBox and simply persists and restores the Text content as I understsand the question, he should have no trouble.
|
|
|
|
|
Ok let's pretend that this means that he can only know how to read text from text box with LF.
He added that code
strContent += (txtParagraph.Text != "") ? "<CONTENT>" + txtParagraph.Text + "</CONTENT>" : "<CONTENT />";
This read text from text box and ads xml tags, and makes string strContent. Where are this "know how to" read text with only LF? This read simple Text property form text box. Since text box
use CR+LF this read text with CR+LF? So why he wrote that he only "know how to" read only LF? Where is sense in that?
More. Line above text you quoted he wrote
Quote: Because this is a paragraph, so the text value of the text box will include characters like: "\r\n" and "\r\n ".
So he wrote that text box have CR+LF, then in next sentence wrote that he only "know how to" read LF and pasted code sample with reading text box with CR+LF chars.
Where is sense in that? There is non.
Obviously is writing some king of app to edits XML content with only LF, and from text box gets CR+LF.
You would get to the same if you would spend on it more than half a minute, think and do not reply with 'you are bad programmer because you like simple solution'
No more Mister Nice Guy... >: |
|
|
|
|
|
n.podbielski wrote: spend on it more than half a minute
I did, I wrote a whole database table (SQL Server 2008 R2) and Winforms app in an effort to reproduce the "problem". Did you?
I was unable to reproduce the problem, therefore there must be more information that the OP left out.
For instance, he doesn't show how he gets the strContent into and out of the database, that could be where the value gets messed up. Without more information, a proper answer can't be provided.
|
|
|
|
|
You are never humble, do you. Who are you to to tell what answer is "proper"? Do you know everything?
If someone is happy with solution do you have to force him to change his mind?
1. Text box returns "\r\n" in content
2. Content must be inserted into xml without "\r"
What is "left out"? That's the problem.
What about solution.
Why I waste my time discussing anything with you, self proclaiming, uber-programmer. Maybe in you world overcomplicating thinks is good thing. Not in mine.
No more Mister Nice Guy... >: |
|
|
|
|
|
n.podbielski wrote: 2. Content must be inserted into xml without "\r"
Ah, so that's how you're interpreting it. I interpreted it as the OP wants to store the \r , but for some reason it's getting lost along the way. As I said, I was unable to duplicate the problem. If, as you say, he wants to not store the \r yet get it back again (and I have no idea why that would be), then I would still have better suggestions than Replace.
At any rate, until the OP responds with a clearer explanation of the situation you and I could continue to debate it and neither of us wants that.
n.podbielski wrote: Maybe in you world overcomplicating thinks is good thing. Not in mine.
Solving the problem rather than sweeping it under the rug to cause trouble down the line is what I consider a good thing.
|
|
|
|
|
Hi PIEBALDconsult, thank you.
I think you are right, it will not produce well-formed XML. I only store my text in tags format (similar XML), then I used XML class to read it. For example:
<MAINCONTENT>
<SUBCONTENT1>text...
</SUBCONTENT1>
<SUBCONTENT2>abc123
</SUBCONTENT2>
</MAINCONTENT>
I used below statements to read content:
<b>System.Xml.XmlReader reader = XmlReader.Create(new StringReader(strContentFromDatabase));
XmlDocument doc = new XmlDocument();
doc.Load(reader);
txtContent.Text = doc.SelectSingleNode("/MAINCONTENT/SUBCONTENT1").InnerText;</b>
|
|
|
|
|
Thanks for the clarification.
I wonder whether or not the StringReader is eating your whitespace characters (I'll have to try it).
Try doc.LoadXml (strContentFromDatabase) ; which I used in my tests.
P.S. Testing shows that the StringReader eats the \r !
Edit: It's the XmlReader, not the StringReader.
modified 21-Nov-12 9:36am.
|
|
|
|
|
Oh, great. It is successful with your way (not eat whitespace).
Thank you so much
|
|
|
|
|
|
Hello All C# coders, i am wanting to know how i can change
my form title from a .txt file called
"Title_form.txt"
Thanks
|
|
|
|
|
Set the Winform's Form Title using the Text property.
Can you elaborate more on the requirement, especially what you wish to achieve by changing the tile from a Text file?
|
|
|
|
|
Oh i just want to learn how to do it, iv seen programs where you can edit things just by using .txt files
|
|
|
|
|
If this is just a proof of concept ignore my comment below
If this is to start creating configuration for your application a txt file will work, but is probably not the best option around there. You can use
- ini files (Please don't)
- xml files (better)
- App.config or similar (recommended, certainly if you want machine based settings)
- Database (I usually use this one as much as possible and use an app.config to point to the database)
Note that there is a difference between user settings (eg, language, application options, ...) and system settings (time outs, root paths, database connection strings, ...) You might want to split those.
Just for info.
|
|
|
|
|
V. wrote: - Database (I usually use this one as much as possible and use an app.config to
point to the database)
|
|
|
|
|
you can change as this.text = "Title_form"
|
|
|
|
|
Yes, but i would like to know how to make it read from a .txt file called Title_form and change the forms title with that .txt
|
|
|
|
|
if you mean that you want to make your form title as your text file name???
|
|
|
|
|
No i want the program to read from a .txt called Title_form.txt and then inside that .txt i have the form name.
|
|
|
|
|
TextReader tr = new StreamReader(C\\test.txt);
//How many lines should be loaded?
int NumberOfLines = 15;
//Make our array for each line
string[] ListLines = new string[NumberOfLines];
//Read the number of lines and put them in the array
for (int i = 1; i < NumberOfLines; i++)
{
ListLines[i] = tr.ReadLine();
}
if the title is in number 5 line
this.text = ListLines[5];
one all the lines are added in the array then you can pick your desired one.
hope this will help you..
|
|
|
|
|
it says im missing a Assembly reference are there any imports for this method?
|
|
|
|
|
using System.IO;
Try that one.
I think computer viruses should count as life. I think it says something about human nature that the only form of life we have created so far is purely destructive. We've created life in our own image.
Stephen Hawking
|
|
|
|
|
include using system.io.stream
|
|
|
|
|
Thank you so much all it works!
|
|
|
|