Java 按名称XML返回子元素
我是XML的初学者,所以请耐心听我说……我正在尝试编写一个简单的方法来返回第一个子元素的指定名称 我的方法是:Java 按名称XML返回子元素,java,xml,dom,Java,Xml,Dom,我是XML的初学者,所以请耐心听我说……我正在尝试编写一个简单的方法来返回第一个子元素的指定名称 我的方法是: public Element getChild(Element parent, String childName) { NodeList list = parent.getElementsByTagName(*); for(int i = 0; i < list.getLength(); i++) { if (list.item(i).getN
public Element getChild(Element parent, String childName) {
NodeList list = parent.getElementsByTagName(*);
for(int i = 0; i < list.getLength(); i++) {
if (list.item(i).getNodeName().equals(childName)) {
return (Element)list.item(i);
}
}
return null;
}
public元素getChild(元素父元素,字符串childName){
NodeList list=parent.getElementsByTagName(*);
对于(int i=0;i
但是,行
NodeList list=parent.getElementsByTagName(*)代码>给我一个通用的“表达式的非法开始”错误。有人能解释一下我做错了什么吗?我已经在谷歌上搜索了20分钟,但运气不好,这意味着它要么非常模糊,要么非常明显。将你的*
放在引号中:parent.getElementsByTagName(“*”)
它将只返回父元素中具有childName的第一个元素。如果可能发生多个事件,请使用循环返回元素列表 还要注意,getElementsByTagName
查找与测试匹配的所有子元素,而不仅仅是直接子元素。您的方法被称为getChild
,但它返回的节点可能是子节点、孙子节点等。
public Element getChild(Element parent, String childName) {
NodeList list = parent.getElementsByTagName(childName);
Node listN=list.item(0);
NodeList listNC= listN.getChildNodes();
Element listE=(Element)listNC;
return listE;
}