我有一个 XML 文件并使用 Xpath 读取信息,我想一起读取“listings_Id”和“budget_remaining”。
XML 示例
<ads>
<ad>
<listing_ids>
<listing_id>2235</listing_id>
<listing_id>303</listing_id>
<listing_id>394</listing_id>
</listing_ids>
<reference_id>11</reference_id>
<net_ppe>0.55</net_ppe>
<budget_remaining>50000.0</budget_remaining>
</ad>
<ad>
<listing_ids>
<listing_id>2896</listing_id>
</listing_ids>
<reference_id>8</reference_id>
<net_ppe>1.5</net_ppe>
<budget_remaining>1.3933399</budget_remaining>
</ad>
</ads>
我想将其输出到 CSV 文件,如下所示
ListingId,BudgetRemaining
2235,50000
303,50000
394,50000
2896,1.39
使用代码
String expression = "/ads/ad/listing_ids/listing_id";
System.out.println(expression);
NodeList nodeList = (NodeList) xPath.compile(expression).evaluate(docum, XPathConstants.NODESET);
for (int i = 0; i < nodeList.getLength(); i++) {
System.out.println(nodeList.item(i).getFirstChild().getNodeValue());
}
String expression1 = "/ads/ad/budget_remaining";
System.out.println(expression1);
NodeList nodeList1 = (NodeList) xPath.compile(expression1).evaluate(docum, XPathConstants.NODESET);
for (int i = 0; i < nodeList1.getLength(); i++) {
System.out.println(nodeList1.item(i).getFirstChild().getNodeValue());
}
输出
/ads/ad/listing_ids/listing_id
2235
303
394
2896
/ads/ad/budget_remaining
50000.0
1.3933399
期望的输出
2235,50000.0
303,50000.0
2896,50000.0
2896,1.3933399
如何使用 Xpath 或任何其他方法读取 XML?我希望每个“列表 ID”都能同时读取“listing_ids”和“budget_剩余”,例如
303,50000
请帮助我 - Java 新手。
最佳答案
使用 jaxb 将 XML 解析为广告列表可能会更容易。 然后您可以引用您的 Java 列表
关于java - 如何在没有 DOM 的情况下在 java 中读取 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21893563/