我正在使用java。我有一个如下所示的xml文件:
<?xml version="1.0"?>
<personaldetails>
<phno>1553294232</phno>
<email>
<official>xya@gmail.com</official>
<personal>bk@yahoo.com</personal>
</email>
</personaldetails>
现在,我需要使用特定条件检查每个标签值的类型,并将它们放入单独的文件中。
例如,在上面的文件中,我写了诸如10位数字等于电话号码之类的条件, xxx@yy.com 格式的内容是一封电子邮件..
所以,我需要做的是我需要提取每个标签中的标签值,如果它匹配某个条件,则将其放入第一个文本文件中,如果不匹配则放入第二个文本文件中。 在这种情况下,第一个文本文件将包含:
1553294232
xya@gmail.com
bk@yahoo.com
以及第二个文件中的其余值。
我只是不知道如何在不使用标签名称的情况下提取标签值。(或不使用 GetElementsByTagName)。
我的意思是,即使我给出 < mailing>
,这段代码也应该提取电子邮件 bk@yahoo.com 。而不是<personal>
标签。它不应该依赖于标签名称。
希望我没有感到困惑。我是使用 xml 的 java 新手。所以,如果我的问题很愚蠢,请原谅我。 请帮忙。
最佳答案
似乎是 XPath 的典型用例
XPath 允许您以非常灵活的方式查询 XML。
本教程可以帮助:
http://www.javabeat.net/2009/03/how-to-query-xml-using-xpath/
如果您使用的是 Java 脚本,情况可能如此,因为您提到了 getElementsByTagName(),您可以只使用 JQuery 选择器,它将为您提供跨浏览器的一致行为,并且JQuery 库对于很多其他事情都很有用,如果您还没有使用它... http://api.jquery.com/category/selectors/
以下是相关信息的示例:
http://www.switchonthecode.com/tutorials/xml-parsing-with-jquery
关于java - java中如何在不使用标签名称的情况下提取xml标签值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12255529/