2012-04-24 100 views
0

对于java来说比较新,并且试图解析一个在Java中有前缀的XML。 样本。如何用Java中的名称空间解析XML文件?

<client:ClientName> 
     <client:nameTitle>Mr</client:nameTitle> 
     <client:familyName>John</client:familyName> 
     <client:givenName>George</client:givenName> 
    </client:ClientName> 

,而我有很多的解决方案,可以读取标签没有前缀,如在内容使用getTagValue如

<client>Content</client>. 

检索标签的值,如之前已被证明具有挑战性。提供的任何援助非常感谢。

在此先感谢。

+0

正确的术语是“XML名称空间”;我已经更新了标题。这应该会导致*很多*在线读取... – 2012-04-24 05:35:01

+1

也许会添加一些代码,以便我们至少知道您打算使用哪个库。导致错误或意外结果的代码也比没有代码好。 – 2012-04-24 05:36:46

+0

找到了解决办法;它不是很优雅,但适用于相关的XML文件。 http://www.coderanch.com/t/445366/java/java/java-Xpath-Namespace-Resolved。抱歉不添加代码.. thnx @pst。仍然在寻找少一些聚集的东西。 – Peterg86 2012-04-24 05:59:01

回答

0

您的示例不是命名空间格式良好。它使用一个名称空间前缀'client',而不声明该前缀的绑定:一个可能会看到xmlns:client="something"

原则上XML不是名称空间良好的形式仍然是XML,并且有处理它的方法;但它很少遇到,现在大多数XML工具都只能处理名称空间格式良好的输入。

您的问题的答案取决于知道您是否真的想处理非名称空间良好的XML或您是否简单地省略了示例中的名称空间声明。

相关问题