私はxmlファイルを解析していて、特定の値を取得できますが、一部の要素、つまりliが値を返していません。これらのファイルを見てください
xml:
<DRM>
<pages>
<page id= 1>
<print>
<wholepage >N </wholepage>
<li>
<id>p001_001</id>
<id>p002_003</id>
</li>
</print>
<copy>
<wholepage >N </wholepage>
<li>
<id>p001_002</id>
<id>p002_003<id>
</li>
</copy>
</pages>
<page id = 2>
<print>
<wholepage>Y</wholepage>
</print>
<copy>
<wholepage>Y</wholepage>
</copy>
</page>
</page>
</pages>
</DRM>
パーサー:
XMLParser parser = new XMLParser();
String data=c1.decrypt(baseurl+"/Metadata/Metadata1.xml");
System.out.println(data);
Document doc = parser.getDomElement(data);
NodeList n=doc.getElementsByTagName("pages");
Element e = (Element) n.item(0);
NodeList nl_li_l2=e.getElementsByTagName("page");
for(int i=0;i<nl_li_l2.getLength();i++)
{
Element e_1 = (Element) nl_li_l2.item(i);
String val= e_1.getAttribute("id");
System.out.println("val:"+val);
NodeList print_list=e_1.getElementsByTagName("print");
for(int j=0;j<print_list.getLength();j++)
{
Element e_2 = (Element)print_list.item(j);
String wp= parser.getValue(e_2,"wholepage");
System.out.println("p whole page:"+wp);
NodeList print_li=e_2.getElementsByTagName("li");
for(int h=0;h<print_li.getLength();h++)
{
Element e_4 = (Element)print_li.item(h);
NodeList print_i=e_4.getElementsByTagName("id");
for(int h1=0;h1<print_i.getLength();h1++)
{
Element e_5 = (Element)print_i.item(h1);
String wp1= parser.getValue(e_5,"id");
System.out.println("wp1"+wp1);
}
}
}
NodeList copy_list=e_1.getElementsByTagName("copy");
for(int j=0;j<copy_list.getLength();j++)
{
Element e_5 = (Element) copy_list.item(j);
String cp= parser.getValue(e_5,"wholepage");
System.out.println(" c whole page:"+cp);
NodeList copy_li=e_5.getElementsByTagName("li");
for(int h=0;h<copy_li.getLength();h++)
{
Element e_6 = (Element)copy_li.item(h);
NodeList copy_id=e_6.getElementsByTagName("id");
for(int h1=0;h1<copy_id.getLength();h1++)
{
Element e_id = (Element)copy_id.item(h1);
String cc= parser.getValue(e_id,"id");
System.out.println("cp1"+cc);
}
}
}
}
しかし、ここではxmlのliタグ内の値を取得できません。ループは完全に実行されていますが、値はnullです。正確な問題がどこにあるかを見つけるのを手伝ってください?