用DOM往XML里写特殊字符出错...

saiyaman5 2008-06-24 02:39:32
"长期投资中还应包括: 合并价差 5006785.43"

上面是要写入的字符串

MSXML2::IXMLDOMNodePtr spChild = spDoc->createElement(bsSubName);
建立一节点spChild,然后

spChild->text="长期投资中还应包括: 合并价差 5006785.43";

保存的XML文件看似没有问题,但用DOM载入后:spDoc->load("文件"),找不到任何的节点...

用什么方法去保存上面的字符串?
...全文
304 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
ToperRay 2008-06-24
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 saiyaman5 的回复:]
""在vc编辑器中是一个圆点,在记事本中显示一个方块...
[/Quote]

显示什么是字体管的,这种情况你可以加在XML头上加一个字符实体,
或者给这个字符删除掉就可以了,那东西似乎是个制表符
saiyaman5 2008-06-24
  • 打赏
  • 举报
回复
""在vc编辑器中是一个圆点,在记事本中显示一个方块...
saiyaman5 2008-06-24
  • 打赏
  • 举报
回复
"长期投资中还应包括: 合并价差 5006785.43"


把上面的 ""去掉之后就没有问题,这似乎是特殊字符的问题吧 ?
saiyaman5 2008-06-24
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 DarknessTM 的回复:]


<?xml version="1.0" encoding="utf-8" ?>
<root>
</root>

这才是XML的格式
[/Quote]

不好意思,是我写错了,是你上面的那种格式
DarknessTM 2008-06-24
  • 打赏
  • 举报
回复


<?xml version="1.0" encoding="utf-8" ?>
<root>
</root>

这才是XML的格式
ToperRay 2008-06-24
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 saiyaman5 的回复:]
to ToperRay:
工程是用UNICODE

保存的XML可以用浏览器浏览,但是用DOM访问就是不行,查找所有的节点都是NULL

是不是特殊字符的问题?
[/Quote]


你用记事本打开你生成的XML,然后 文件--》另存为

看看你保存后的实际编码是什么
saiyaman5 2008-06-24
  • 打赏
  • 举报
回复
to ToperRay:
工程是用UNICODE

保存的XML可以用浏览器浏览,但是用DOM访问就是不行,查找所有的节点都是NULL

是不是特殊字符的问题?
saiyaman5 2008-06-24
  • 打赏
  • 举报
回复
to to DarknessTM

建立xml时是用spDoc->loadXML("<root><?xml version="1.0" encoding="utf-8" ?></root>");

在加完所有的节点后save;

中间少了什么步骤?
ToperRay 2008-06-24
  • 打赏
  • 举报
回复
是不是因为你的VC工程不是UNICODE,字符转来转去转坏了

理论上加上UTF-8就可以了
DarknessTM 2008-06-24
  • 打赏
  • 举报
回复
你光手工加上没用的,你应该在DOM解析器的xml头部设定中设置,这样,你save的时候,他会转换
saiyaman5 2008-06-24
  • 打赏
  • 举报
回复
to DarknessTM

不是在文件里加上

<?xml version="1.0" encoding="utf-8" ?>

就行了吗?
DarknessTM 2008-06-24
  • 打赏
  • 举报
回复
那分明是没有使用utf-8
你再次保存的时候,编辑器帮你转换了

saiyaman5 2008-06-24
  • 打赏
  • 举报
回复
我原来的XML文件包含
<v>"长期投资中还应包括: 合并价差 5006785.43" <v>
节点时是30多k,但因为用DOM无法访问,就把以上的节点删除了(在编辑器里删除,删除后可正常用DOM访问)

删除后XML文件变成了50多K

saiyaman5 2008-06-24
  • 打赏
  • 举报
回复
3,4楼的兄弟,你们说的我都做了,保存的mxl文件可以浏览到所保存的字符串的

就是用DOM读不出来,用DOM载入文件后,访问不了该XML的任何节点
jameshooo 2008-06-24
  • 打赏
  • 举报
回复
你只是创建了元素,但是没有把元素插入到合适的DOM位置,插入后再保存才行
菜牛 2008-06-24
  • 打赏
  • 举报
回复
你没有AppendChild?
saiyaman5 2008-06-24
  • 打赏
  • 举报
回复
用了,还是一样没能读出来
DarknessTM 2008-06-24
  • 打赏
  • 举报
回复
让xml使用 utf-8 把

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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