【发布时间】:2014-03-20 12:01:07
【问题描述】:
我有一个 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,0.55
303,0.55
394,0.5
2896,1.5
我正在尝试将示例用作
DataReader reader = new XmlReader(new File("links.xml"))
.addField("ListingId", "//ad/listing_ids/listing_id")
.addField("BudgetRemaining", "//ad/budget_remaining")
.addRecordBreak("//ad")
.setExpandDuplicateFields(true);
但似乎我找不到 XMLReader 和 DataReader 的 jar 文件,而且我的格式肯定有问题。 Java 新手,请提供任何帮助。
【问题讨论】:
-
我不确定您遵循的教程/从哪里复制了该代码,但这不是您尝试使用的默认 Java XPath 实现。看看stackoverflow.com/questions/2811001/…。
-
@JensErat :我按照同样的例子,它是一个 Xmlreader,但我找不到它的 jar 文件。
-
刚刚意识到,这是第三个答案。该库链接在代码上方!无论如何,如果没有特殊原因(直接输出 CSV 的可能性可能是一个,我不知道那个库),您可能会考虑选择第一个答案并使用“标准 Java 方式”来做这些事情。跨度>