我有一个关于XML解析的问题。我正在试验一个示例程序,并对它做了一些修改,试图了解解析是如何工作的。但是,我遇到了一个我不太理解的输出,希望你们中的一些人能对可能发生的事情有所了解。
这是我的xml文件:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root xmlns="http://www.test.com">
<ApplicationSettings>
<option_a>"10"</option_a>
<option_b>"24"</option_b>
</ApplicationSettings>
</root>我在整个程序中插入了调试语句,试图了解函数调用(如getChildNodes() )调用时发生了什么。这是我收到的输出:
Parsing xml file...
Processing Root...
Processing children with getChildNodes()...
>>>>>>>>>>> Loop child 0: Node name is: #text
>>>>>>>>>>> Loop child 1: Node name is: ApplicationSettings
= ApplicationSettings processing children with getChildNodes()...
***** iter 0 child name is #text
***** iter 1 child name is option_a
***** iter 2 child name is #text
***** iter 3 child name is option_b
***** iter 4 child name is #text
>>>>>>>>>>> Loop: 2 Node name is: #text从输出中,我可以很容易地推断出它正确地解析了我的xml文件。但是,我注意到程序还检测到了名为#text (使用getNodeName()函数打印出来)的额外节点。我的问题是,那些#text引用了什么,为什么它们会周期性地出现在循环中?
谢谢!
发布于 2010-12-28 17:00:18
示例中的#text节点引用标记之间的空格。举个例子
<root xmlns="http://www.test.com">
<ApplicationSettings>在...com">和<App...之间有一个行提要和四个空格。
您可以尝试解析以下内容以查看发生了什么:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root xmlns="http://www.test.com"><ApplicationSettings><option_a>"10"</option_a><option_b>"24"</option_b></ApplicationSettings></root>https://stackoverflow.com/questions/4547714
复制相似问题