2011-03-11 71 views
0

文件:compute = "...page.
o When you use the “Create Form” function ..."的XMLDocument搞乱字符引用在

做...

FileStream outfs = new FileStream(tempOutXmlFileName, FileMode.Open, FileAccess.Read, 
           FileShare.ReadWrite); 

XMLDocument.Load(outfs) 

文件加载后:compute = "...page.
o When you use the "Create Form" function ..."

当谈到时间重新写出来的文件,我用

using (StreamWriter writer = new StreamWriter(tempOutXmlFileName, false, Encoding.GetEncoding("ISO-8859-1"))) 
      { //(The original file is ISO-8859-1 encoding.) 

       writer.NewLine = "\n"; 
       xmlOut.Save(writer); 
      } 

它似乎并不知道不写" s直接,这是我所期望的。理想情况下,我不希望XMLDocument将它们转换,但如果在写出时我可以做些什么,那也可以。

当然有人遇到过这样的问题吗?我之前可以通过做100%字节操作来解决这个问题,但是我不想这样做,因为我需要XML文档遍历功能。

想法?建议?

谢谢。

分辨率:

最后我只是做了查找/替换。不漂亮,但它做到了这个工作,我有一定的回旋余地。

回答

1

不幸的是,你想要做的事情会很困难。这是预期的行为。就XML中的实际信息而言,没有什么区别 - 它只是序列化的细节。

看看这个answer;这很好,解决你的问题。

为什么写出引号作为实体很重要?

+0

输出的xml必须被其他程序使用,因为它无法准确地解析文档。 – emragins 2011-03-11 22:54:54

+0

也许这只是我,但“答案”中的链接只是指向这个问题。它打算去哪里? – emragins 2011-03-11 22:55:32

+0

对不起,修复了这个链接。 生成的文件是否实际上不是完整的,还是接收程序的问题? – 2011-03-11 22:58:34