尽管您的拼凑对您有用..我想提供有关名称空间的知识!
您的w:
XML 中的实际称为命名空间前缀。并且要使用 neamespace 前缀,它必须在根节点中声明!1+
由于您的源 XML 中缺少声明部分!解析器抛出错误!下面是在 XML 中定义命名空间的方法!我已经更正了您自己的 XML,我敢打赌它现在不会出错了!
<w:r xmlns:w="http://www.w3.org/SomeNamespace">
<w:rPr>
<w:rStyle w:val="jid"/>
</w:rPr>
<w:t>AN</w:t>
</w:r>
附加信息:
命名空间有自己的范围!在下面的例子中:
<root>
<w:r xmlns:w="http://www.w3.org/SomeNamespace">
<w:rPr>
<w:rStyle w:val="jid"/>
</w:rPr>
<w:t>AN</w:t>
</w:r>
<someotherElement>
<dummychild/>
</someotherElement>
在上面的例子中,你不能在<someotherElement>
或<dummychild/>
!!上使用命名空间前缀。因为命名空间前缀 w 的范围<r>
仅限于元素及其子元素(孙子元素)!
1+:在其下声明命名空间的元素。命名空间对其自身及其子节点有效。在根下声明命名空间使命名空间对 XML 文档中的所有元素有效/可用。