gpt4 book ai didi

java - java中使用JDOM解析XML(getChildren方法不返回List)

转载 作者:行者123 更新时间:2023-12-01 05:15:34 27 4
gpt4 key购买 nike

对于根目录有 25 个子级的 xml 文件,getChildren 方法返回 list.size= 0 !!

这是我的代码:

public static void main(String[] args) {

SAXBuilder builder = new SAXBuilder();
File xmlFile = new File("g:\\*");
try {

Document document = (Document) builder.build(xmlFile);
Element rootNode = document.getRootElement();
List list = rootNode.getChildren("job",Namespace.getNamespace("Montage"));

for (int i = 0; i < list.size(); i++)
{

Element node = (Element) list.get(i);
System.out.println("ID : " + node.getAttributeValue("id"));
System.out.println("Run Time : " + node.getAttributeValue("runtime"));
}
}
catch (IOException io) {
System.out.println(io.getMessage());
} catch (JDOMException jdomex) {
System.out.println(jdomex.getMessage());
}

}

这里是 xml 文件的部分:

<adag xmlns="http://pegasus.isi.edu/schema/DAX"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pegasus.isi.edu/schema/DAX http://pegasus.isi.edu/schema/dax-2.1.xsd" version="2.1" count="1" index="0" name="test" jobCount="25" fileCount="0" childCount="20">
<job id="ID00000" namespace="Montage" name="mProjectPP" version="1.0" runtime="13.39">
<uses file="region.hdr" link="input" register="true" transfer="true" optional="false" type="data" size="304" />
<uses file="2mass-atlas-ID00000s-jID00000.fits" link="input" register="true" transfer="true" optional="false" type="data" size="4222080" />
<uses file="p2mass-atlas-ID00000s-jID00000.fits" link="output" register="true" transfer="true" optional="false" type="data" size="4167312" />
<uses file="p2mass-atlas-ID00000s-jID00000_area.fits" link="output" register="true" transfer="true" optional="false" type="data" size="4167312" />
</job>

出了什么问题?

最佳答案

您的 job 元素有一个名为 namespace 的属性,其值为“Montage”,但这并不会使 job 元素成为“Montage”命名空间的一部分。

只需使用

List list = rootNode.getChildren("job");

关于java - java中使用JDOM解析XML(getChildren方法不返回List),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11280403/

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