0

我需要保留从另一个系统接收到的一些 XML 数据。以下是我们收到的示例:

<SomeTag display="1 2 3 4 5 &lt;anotherTag>someValue&lt;/anotherTag>" />

当它被读入然后保存到我们的数据库时,它是这样保存的:

<SomeTag display="1 2 3 4 5 &lt;anotherTag&gt;someValue&lt;/anotherTag&gt;" />

我想完全按原样保留数据,而不用对 > 符号进行编码。

4

2 回答 2

0

如果您将从另一个系统收到的 xml 保存为 DB 列中的字符串而不进行处理,它将保证按原样保留它

于 2013-03-21T12:52:26.410 回答
0

如果您只有StAX 事件,那么没有,没有办法实现这一点,因为当您获得属性值时

1 2 3 4 5 <anotherTag>someValue</anotherTag>

从 StAX 解析器无法知道原始字节的样子 - 大于号可能是>or&gt;&#x3E;,所有这些形式在解析时都会产生相同的值,并且任何 XML 解析器都必须将它们视为等效。

如果您关心精确的原始表示,那么您将不得不在 XML 世界之外执行此操作 - 在 StAX 解析器解析原始字节之前以某种方式保存它们,使用正确的字符编码对其进行解码,并将生成的字符串直接存储到你的数据库。

于 2013-03-21T13:00:19.220 回答