如何不用XML编码值

我有一个在C#脚本中编辑的xml文档。

  • 我正在使用.load来阅读文档。
  • .SelectSingleNode找到要编辑的节点。
  • 设置我想要设置的属性的.value。
  • 使用.Save
  • 这里是擦....

    我正在为.value中的Salesforce接口保存一条SQL语句。 当您使用.save时,它会将字符串编码(>进入&gt)。 由于Salesforce确实知道如何编码/解码,所以我不能拥有这个功能,因此它必须是我设置的特定字符串。 没有编码的情况下保存文档的最佳方式是什么? 我想我可以阅读XML文件,并解析到一个文件流编辑字符串,当我到达它,但它看起来很繁琐....


    XML是 - 技术上讲的 - 一个字符串。 换句话说:一连串的人物。

    增加差异的是标记。 你需要特殊的字符来区分它们。

    三个字符绝对神圣:<,>和<

    前两个建立标记,最后一个是转义字符,告诉阅读实例:看,这是一个特殊的字符!

    如果你想在XML中使用这些字符,你必须用&lt; &gt;&amp; 。 其余依赖于给定的编码。 UTF8处理与UTF16不同的字符集 - 还有更多...

    这意味着:在XML中编码/转义这些字符是没有办法的。

    如果您只想将字符串作为XML来处理,那么这非常简单:您的XmlDocument具有OuterXML ,它是一个返回属性的string 。 它将以字符串形式提供整个XML。

    但请记住,如果您在错误的地方使用未编码的特殊字符,您的XML将中断。

    编辑

    事实上,有一种解决方法(正如亚历山大彼得罗夫指出的那样:CDATA部分,问题是:接收者如何读取数据?如果一切按照正常的方式进行,编码不成问题,因为任何读取器都会对数据进行重新编码然后将其展示给人类读者。

    链接地址: http://www.djcxy.com/p/29843.html

    上一篇: How not to encode values in XML

    下一篇: Change encoding of an xml file in php