关于xerces解析XML的问题 我使用xerces来解析XML文件,用getFirstChild和getNextSibling来遍历所有的child。但是在这些children里面会多出来很多node,类型是DOMText,用getNodeName得到一个#text,几乎所有的node上面都有一个这样的多余的东西。请问这些多余的node用什么方法来去掉比较的合适呢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 #text在你的xml文件中有吗?还是解析过后在正确节点名前加了#text?如xml文件中节点是node1;解析过后是#textnode1.. 解析之后才有的,在每一个节点前面都多了一个#Text http://www.cnblogs.com/scq2099yt/category/121708.html 我不是用MSXML的库,用的是xerces的库。还有,我已经找到一个方法,如果在XML文件种定义了schema,则可以用代码消除这个多余的节点,但是问题是我要解析的XML文件都是由别的系统提供的,没有这些schema。 自己把问题解决了。 setDoNamespaces( true ); setDoSchema( true ); setValidationScheme( XercesDOMParser::Val_Auto ); setIncludeIgnorableWhitespace( false );在验证Schema文件存在的情况下,并且在xml中指定了验证文件,就可以去掉多余的text节点。如果没有验证文件,则需要自己根据xml的内容写验证文件,然后通过setExternalNoNamespaceSchemaLocation函数来设置验证文件。 数学表达式问题? 制作一个ActiveX用于播放音乐 请问哪里有显示阴历日期的控件,或如何根据阳历日期计算阴历日期? 如何禁用窗口标题栏上的“关闭”按钮? CString的find函数 100分,解决后立即揭帖!工具栏中动态创建的Combobox的CBN_SELCHANGE消息函数怎么添加上去的? 救命啊!!!我快崩溃了!关于更换位图的问题(看似简单,其实很有问题的问题!!!) 关于一个线程的问题???????? 请问:程序中怎样预先拦截一切鼠标/键盘信息? 这句英文该如何翻译 关于 ISIS 大型扫描仪的驱动 demo程序 请教:如何在放大位图时显示网格
我不是用MSXML的库,用的是xerces的库。还有,我已经找到一个方法,如果在XML文件种定义了schema,则可以用代码消除这个多余的节点,但是问题是我要解析的XML文件都是由别的系统提供的,没有这些schema。
setDoNamespaces( true );
setDoSchema( true );
setValidationScheme( XercesDOMParser::Val_Auto );
setIncludeIgnorableWhitespace( false );
在验证Schema文件存在的情况下,并且在xml中指定了验证文件,就可以去掉多余的text节点。
如果没有验证文件,则需要自己根据xml的内容写验证文件,然后通过setExternalNoNamespaceSchemaLocation函数来设置验证文件。