擅长:python、mysql、java
<p>不幸的是,往返并不是一个小问题。对于XML,除非使用特殊的解析器(比如<a href="http://code.google.com/p/decentxml/" rel="nofollow">DecentXML</a>),否则通常不可能保留原始文档。</p>
<p>根据您的需要,您可以选择以下选项:</p>
<ul>
<li><p>如果您控制了源代码,并且可以通过单元测试保护代码,那么您可以编写自己的简单解析器。这个解析器不接受XML,只接受有限的子集。例如,您可以将整个文档作为字符串读取,然后使用Python的字符串操作来定位<code><dogs></code>,并替换下一个<code><</code>之前的任何内容。乱劈?对。</p></li>
<li><p>你可以过滤输出。XML只允许字符串<code><ns0:</code>位于一个位置,因此您可以搜索并用<code><</code>替换它,然后用<code><group xmlns:ns0="</code>→<code><group xmlns="</code>替换它。除非您的XML中有<a href="http://en.wikipedia.org/wiki/CDATA" rel="nofollow">CDATA</a>,否则这是非常安全的。</p></li>
<li><p>您可以编写自己的简单XML解析器。将输入作为字符串读取,然后为每对<code><></code>及其在输入中的位置创建元素。这允许您快速分离输入,但仅适用于小输入。</p></li>
</ul>