gpt4 book ai didi

Java + XML 问题

转载 作者:行者123 更新时间:2023-11-29 06:47:54 25 4
gpt4 key购买 nike

我对 XML 解析有点陌生。如果你能帮我解决这个问题,我将不胜感激。

我需要提取 XML 文档中的一些数据,其结构为:

<DWDocument DW5BasketFileName="DOCU0001.001">
<FileInfos>
<ImageInfos>
<ImageInfo id="0,0,0" nPages="0">
<FileInfo fileName="PATH_1" dwFileName="FILE_NAME_1" signedFileName="FILE_NAME_2" type="normal" length="77324" />
</ImageInfo>
</ImageInfos>
</FileInfos>
<FileDatas />
<Section number="0" startPage="0" dwguid="d8a50daf-d4df-4012-ad0c-85e26a6e0755">
<Metadata version="0">
<FieldProperties>
<TextVar length="20" field="FIELD_1" id="0">9866627</TextVar>
<TextVar length="20" field="FIELD_2" id="1">78050830431</TextVar>
<TextVar length="40" field="FIELD_3" id="32">GOMEZ PADILLA</TextVar>
<TextVar length="40" field="FIELD_4" id="33">JOSSER KICO</TextVar>
<Date field="FIELD_5" id="64">1985-07-02T00:00:00</Date>
</FieldProperties>
</Metadata>
</Section>
</DWDocument>

我在 Java 桌面应用程序中。我不想知道该怎么做,如果可能的话可能是一个代码示例。

我需要提取 FIELD_1 到 FIELD_4 的值(986627,...),每个值都是不同的变量。

谢谢。

最佳答案

你可以使用 XPath


String filename = "C:\\a.xml";
String expression = "//TextVar";
try {
Document document = DocumentBuilderFactory.newInstance()
.newDocumentBuilder().parse(new File(filename));
NodeList nn = (NodeList) XPathFactory.newInstance().newXPath()
.evaluate(expression, document, XPathConstants.NODESET);
for (int i = 0; i < nn.getLength(); i++) {
Node item = nn.item(i);
String field = item.getAttributes().getNamedItem("field").getTextContent();
String number = item.getTextContent();
System.out.println("field=" + field);
System.out.println("number=" + number);
}
} catch (Exception e) {
throw new RuntimeException(e);
}

输出:

field=FIELD_1number=9866627field=FIELD_2number=78050830431field=FIELD_3number=GOMEZ PADILLAfield=FIELD_4number=JOSSER KICO

关于Java + XML 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1494332/

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