我有一个带有属性和元素/标签的XML。 我想知道根据性能使用属性或标签是否合适。
请举例说明内容是否有子标记,以及内容是否有属性。 我的问题是,是否可以在2个不同的XML文件中比较2个具有相同名称的属性,而且在这里我们将拥有大量数据。 因此,如果我将其视为属性或标记,我想确定性能如何。
<A Name="HRMS">
<B BName="IN">
<C Code="0001">
<IN irec="200" />
<OUT orec="230" Number="" Outname=""/>
</C>
<C Code="0004">
<IN irec="209" />
<OUT orec="209" Number="" Outname=""/>
</C>
<C Code="0008">
<IN irec="250" />
<OUT orec="250" Number="" Outname=""/>
</C>
</B>
</A>
在这里,我必须比较irec和orec的特定B名称和C代码
答案 0 :(得分:0)
这是可能的。你需要一个像jsoup这样的java lib来帮助解析xml的路径表达式,比如jquery css选择表达式。
Jsoup是一个HTML解析器,但html是一种xml应用程序,因此您可以使用它来解析xml内容。
jsoup示例:
String xml = "<root><person name=\"Bob\"><age>20</age></person></root>";
Document root = Jsoup.parse(xml);
System.out.println(root.body().html());//origin XML content
Elements persons = root.getElementsByTag("person");
Element person = persons.first();
System.out.println("The attribute 'name' of Person:" + person.attr("name"));
System.out.println(persons.select("person[name=Bob]").first().text());
您可以简单地使用jsoup实现比较差异功能。