我有这个xml:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="new2.xsl"?>
<patients>
<patient>
<stoixeia_astheni>
<arithmos_eksetasis>1</arithmos_eksetasis>
<imerominia_eksetasis>xxx</imerominia_eksetasis>
<amka>14385</amka>
<surname>??µ?t????</surname>
<name>Ga?????</name>
<onoma_patros>??a??????</onoma_patros>
<imgennisis>15/03/1984</imgennisis>
<diagnosi>G??p?</diagnosi>
<famagogi>depon</famagogi>
</stoixeia_astheni>
<stoixeia_epikoinonias>
<dieuthinsi>xxxxx</dieuthinsi>
<takodikas>xxxxx</takodikas>
<perioxi>xxxx</perioxi>
<stathero>xxxxx</stathero>
<kinito>-</kinito>
</stoixeia_epikoinonias>
<loipa_stoixeia>
<fylo>A??e?</fylo>
<oikkatastasi>?a?t?eµ????</oikkatastasi>
<epaggelma>??e????</epaggelma>
<istoriko>-</istoriko>
<sxolia>-</sxolia>
</loipa_stoixeia>
</patient>
</patients>
我正在尝试使用以下代码搜索它:
try {
NodeList nl = (NodeList) expr.evaluate(doc, XPathConstants.NODESET);
for(int i =0;i<nl.getLength();i++) {
Node n = nl.item(i);
pw.println("<tr><td colspan=\"2\"><h2>Στοιχεία ασθενή</h2></td></tr>");
for(int j=1;j<=9;j=j+1){
pw.println("<tr>");
pw.println("<td>"+ellhnika[j]+"</td>");
pw.println("<td>"+n.getParentNode().getParentNode().getParentNode().getChildNodes().item(1).getChildNodes().item(j).getTextContent()+"</td>");
pw.println("</tr>");
}
pw.println("<tr><td colspan=\"2\"><h2>Στοιχεία επικοινωνίας</h2></td></tr>");
for(int j=10;j<=15;j++){
pw.println("<tr>");
pw.println("<td>"+ellhnika[j]+"</td>");
pw.println("<td>"+n.getParentNode().getParentNode().getParentNode().getChildNodes().item(1).getChildNodes().item(j).getTextContent()+"</td>");
pw.println("</tr>");
}
pw.println("<tr><td colspan=\"2\"><h2>Λοιπά στοιχεία</h2></td></tr>");
for(int j=16; j<=19;j++){
pw.println("<tr>");
pw.println("<td>"+ellhnika[j]+"</td>");
pw.println("<td>"+n.getNodeName()+"</td>");
pw.println("</tr>");
}
}
pw.println("</table></body></html>");
} catch (XPathExpressionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
问题是当第一个(三个)循环运行时,我显示如下:
<tr>
<td>Αριθμός εξέτασης</td>
<td>1</td>
</tr>
<tr>
<td>Ημερομηνία εξέτασης</td>
<td>
</td>
</tr>
所以对于 j 的奇数值
n.getParentNode().getParentNode().getParentNode().getChildNodes()
.item(1).getChildNodes().item(j).getTextContent()
返回一个空值..
任何帮助都会很有用