gpt4 book ai didi

java - 如何使用java从xml文件中提取细节?

转载 作者:行者123 更新时间:2023-11-29 05:51:18 25 4
gpt4 key购买 nike

我有以下类型的 XML 文件,

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE eSummaryResult PUBLIC "-//NLM//DTD eSummaryResult, 29 October 2004//EN" "http://www.ncbi.nlm.nih.gov/entrez/query/DTD/eSummary_041029.dtd">
<eSummaryResult>
<DocSum>
<Id>224589801</Id>
<Item Name="Caption" Type="String">NC_000010</Item>
<Item Name="Title" Type="String">Homo sapiens chromosome 10, GRCh37.p10 Primary Assembly</Item>
<Item Name="Extra" Type="String">gi|224589801|gnl|ASM:GCF_000001305|10|ref|NC_000010.10||gpp|GPC_000000034.1||gnl|NCBI_GENOMES|10[224589801]</Item>
<Item Name="Gi" Type="Integer">224589801</Item>
<Item Name="CreateDate" Type="String">2002/08/29</Item>
<Item Name="UpdateDate" Type="String">2012/10/30</Item>
<Item Name="Flags" Type="Integer">544</Item>
<Item Name="TaxId" Type="Integer">9606</Item>
<Item Name="Length" Type="Integer">135534747</Item>
<Item Name="Status" Type="String">live</Item>
<Item Name="ReplacedBy" Type="String"/>
<Item Name="Comment" Type="String"><![CDATA[ ]]></Item>
</DocSum>

</eSummaryResult>

如何根据 name 值从 node="Item"中提取详细信息?使用标准的 java dom xml 还是更好地使用任何其他 xml 解析器库来达到这个目的?

最佳答案

我建议 StAX,试试这个 (javax.xml.stream.*)

    XMLInputFactory f = XMLInputFactory.newInstance();
XMLStreamReader rdr = f.createXMLStreamReader(new FileReader("test.xml"));
while (rdr.hasNext()) {
if (rdr.next() == XMLStreamConstants.START_ELEMENT) {
if (rdr.getLocalName().equals("Item")) {
System.out.println(rdr.getAttributeValue("", "Name"));
System.out.println(rdr.getElementText());
}
}
}

必须始终首先考虑 StAX。参见 http://en.wikipedia.org/wiki/StAX你会知道为什么

关于java - 如何使用java从xml文件中提取细节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13762881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com