在java中从XML获取节点
我有一个XML提要。XML节点存储在项中。大约有100个项目,每个项目文件夹中有几个节点,如下所示:在java中从XML获取节点,java,xml,nodes,nodevalue,Java,Xml,Nodes,Nodevalue,我有一个XML提要。XML节点存储在项中。大约有100个项目,每个项目文件夹中有几个节点,如下所示: A B C D E F 节点A包含一个nodevalue字符串,该字符串可以是SN、REL、KEL,正是它决定了项目列表在表中的位置 我的目标是,如果节点A的nodevalue字符串是SN,我只想得到B、C、D、E、F nodevalue。MyComposite2是一个包含XML中所有字符串值的类,这是我到目前为止得到的: private MyComposite1R parseItemR(El
A
B
C
D
E
F
节点A包含一个nodevalue字符串,该字符串可以是SN、REL、KEL,正是它决定了项目列表在表中的位置
我的目标是,如果节点A的nodevalue字符串是SN,我只想得到B、C、D、E、F nodevalue。MyComposite2是一个包含XML中所有字符串值的类,这是我到目前为止得到的:
private MyComposite1R parseItemR(Element item)
{
MyComposite1R myComposite2=new MyComposite1R();
NodeList childNodes=item.getChildNodes();
for (int i = 0; i < childNodes.getLength(); i++)
{
// Processing some element in the form: <name>value</name>
Element element = (Element)childNodes.item(i);
String nodeName = element.getNodeName();
String nodeValue = element.getTextContent();
// Decide where to store the node value (in myComposite) depending on the node name:
switch (nodeName)
{
case "A":
myComposite2.setA(nodeValue);
break;
case "B":
myComposite2.setB(nodeValue);
break;
case "C":
myComposite2.setC(nodeValue);
break;
case "D":
myComposite2.setD(nodeValue);
break;
case "E":
myComposite2.setE(nodeValue);
break;
case "F":
myComposite2.setF(nodeValue);
break;
default: // An unknown node was found.
System.err.println("Warning: Node '"+nodeName+"' not recognized and will be ignored");
}
}
return myComposite2;
}
private MyComposite1R parseItemR(元素项)
{
MyComposite1R myComposite2=新的MyComposite1R();
NodeList childNodes=item.getChildNodes();
对于(int i=0;i
为什么不使用xpath进行解析?这就是它的用途。@old程序员我不熟悉xpath,我会看看这个now@OldProgrammer我使用的是POI Apache commons,这不是一个类似的库吗