我发现的一个有趣的现象!!!

musicboy1999 2002-04-04 03:49:59
我在尝试将XML文档存入数据库,因为节点比较复杂而且结构不规范,所以,我考虑将节点的node.xml()作为一个字符串存入数据库种,然后通过ado.net来访问该数据库,当将记录读出到DataSet对象,并且保存为xml文件后发现:

例如:读入数据库的字符串为:

<line>111,111 222,222</line>

在保存的xml文件中,该字符串为:
<line>111,111 222,222</line>

也就是说“<>”转义为“<”

怎么样才能不改变内容,直接将字符串作为一个xml文档的片段保存呢???

...全文
104 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Earthdog 2002-04-06
  • 打赏
  • 举报
回复
其实是这样的,你用DataSet进行XML文件的写入的时候,DataSet一般都有一套已经定义好的Schema,如果它不把你的<和>符号进行转义存储的话,在其他支持Schema的XML Parser中打开该XML文件的时候就会出现解析错误(包括用另一个相同类型的DataSet读入该XML文件中的内容),因此才会将你的<和>符号进行转义存储。
musicboy1999 2002-04-05
  • 打赏
  • 举报
回复
我试了一下,在数据库的时候“<>”还是没有变化,当把查询的结果集
保存为xml文件的过程中,也就是调用DataSet.writeXml(fileName)方法
的时候发生了转义变化。。。
MAGICSLIAO 2002-04-05
  • 打赏
  • 举报
回复
你用childNode.xml得到的值是已经过了转义操作的。
你可以在存入数据库之前把<>分别替换为'<','>'就可以了。
platinum 2002-04-05
  • 打赏
  • 举报
回复
为了不产生歧义,只能如此,尽管看起来是 <,但实际还是 <

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧