当前位置:编程学习 > C#/ASP.NET >>

能写出这种格式的xml文件吗?(<book></book>)

在C#中,请问能创建出这种格式的xml文件吗?
---------------------------------------
<Book>
 <Price></Price>
 <Author></Author>
</Book >
--------------------------------------
我想要的是,节点中为空值,什么字符都不要。
我现在能创建出来的,是像下面这种格式的,
但是这不是我想要的。

--------------------------------------
<Book> 
 <Price>
 </Price>
 <Author>
 </Author>
</Book >
--------------------------------------
请大家帮帮忙,用xmldoc或者XmlTextWriter都可行。 --------------------编程问答-------------------- 顶上去啊,争取今晚解决。。。
--------------------编程问答-------------------- 再顶一下。 --------------------编程问答-------------------- 很遗憾 ,你要求的格式不能自动生成,因为这并不是一种规范的格式;可以参看一下.net对XML文件的排列。
但是你应该自己通过解析然后用Txt的Write方法来实现。 --------------------编程问答-------------------- 不是一种规范的格式,是这样哦。
那可麻烦了。

其实我为什么想要这种格式呢,是因为,我要保存一个多行TextBox的文本(用户输入),
保存到Xml文件里面的一个节点中,在下次启动TextBox的时候可以显示上次用户输入的
文本,这是我的目的。
如果当用户在这个多行TextBox中,只输入输入3行回车,使用
textbox.text = xmlDoc.SelectSingleNode("/xxx/xxx").InnerText
是无法正确显示显示那3行换行的,它认为是没有字符。
所以我使用了XmlTextReader,可以把换行符,空格等字符都读出来。

但是如果用户什么都不输入,直接保存,xml文件中就会是

<Book>
  <Price>
  </Price>
  <Author>
  </Author>
</Book > 


在使用XmlTextReader读取节点内容时,就会读出"\r\n    ",但是用户确实什么都
没有输入,不知道我说明白了没有,或者这个问题还有什么其他的解决办法,请
大家帮帮忙。 --------------------编程问答-------------------- 可在读取和写入的时候用特殊字符代替回车。 --------------------编程问答-------------------- 读出来的字符串去掉首尾的空格,

string.trim --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 帮顶 --------------------编程问答-------------------- 作纯文本处理 --------------------编程问答--------------------
引用 4 楼 terrytan 的回复:
...
在使用XmlTextReader读取节点内容时,就会读出"\r\n    ",但是用户确实什么都 
没有输入,不知道我说明白了没有,或者这个问题还有什么其他的解决办法,请 
大家帮帮忙。


当特殊情况处理,读出这个的时候过滤掉 --------------------编程问答-------------------- 如果没有内容的话,必须是自结束节点 
<Book/>这样的 --------------------编程问答-------------------- innerText=" " --------------------编程问答--------------------
引用 5 楼 limeng0513 的回复:
可在读取和写入的时候用特殊字符代替回车。

那如果用户只输入了3行回车,在显示的时候,是要把回车显示出来的。 --------------------编程问答--------------------
引用 6 楼 baihe_591 的回复:
读出来的字符串去掉首尾的空格,

string.trim

可能我没说明白吧,就如你所说,对读取出来的字符串使用string.trim
如果是使用innerText的话,本身就是空,去不去掉是一样的。
如果是"\r\n    ",去掉了空格之后,还是有一个换行符。 --------------------编程问答--------------------
引用 9 楼 clxcxx 的回复:
帮顶

多谢这位大姐。 --------------------编程问答-------------------- 把内容转换成Base64格式,再存放进XML
读出来的时候再转换回原文
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,