の#text私は、XML document
にXML String
を変換しようとしています:それはnodeName
の#text
instaedを印刷する理由のJava - XML出力に文字列を解析 -
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
try {
builder = factory.newDocumentBuilder();
Document document = builder.parse(new InputSource(new StringReader(xmlString)));
NodeList firstEle = document.getElementsByTagName("eMail");
for(int i = 0; i < firstEle.getLength();i++){
Node node = firstEle.item(i); //email
System.out.println("\ncurrent element : " + node.getNodeName()); //print email
NodeList allEmailChilds = node.getChildNodes();
System.out.print("num of child nodes : " + allEmailChilds.getLength());//print 47
for(int j = 0 ; j<allEmailChilds.getLength(); j++){
Node inMail = allEmailChilds.item(j);
System.out.print("\n");
System.out.print("email element - " + inMail.getNodeName()); //prints #text
System.out.print("email value - " + inMail.getTextContent()); //prints empty line
}
}
} catch (Exception e) {
e.printStackTrace();
}
Somoneのは知っていますか?
if(inMail.getNodeType() == Node.ELEMENT_NODE){
System.out.print("ele node"); // never prints
}
印刷されることは決してありません:ノードタイプを取得しようとしたときにも
<?xml version="1.0" encoding="UTF-8"?>
<eMail>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
//more elemnts.....
</eMail>
:私はどこかに答えを見つけることができなかった、ここに私のxmlです。コードの下に
'#text'は、純粋なテキストのノード名で、開始タグと終了タグ(" Tove ")の間にあります。開始タグと終了タグの間に複数の#textを持つことができることを覚えておいてください( "To")。 'node'はタグであるので' org.w3c.Element'にキャストできたことに注意してください。 –
OK、ありがとう、私は要素のオブジェクトが問題だと思います。 –