0

このようなXMLファイルがある場合

<UI>
<Option type="menu">
    <Name>MENU1</Name>
    <Option type="action">
        <Name>Action1</Name>
        <Function>Clicked Action1</Function>
    </Option>
</Option>
</UI>

最初のテキスト ノード (MENU1) の値を取得するには、次のようにします。

Node rootNode=dom1.getFirstChild();
String name=rootNode.getNodeValue();
Log.i(TAG,"ROOT NAME is :=",name);

上記のコードは、使用中に空白を与えています

 Sting name=rootNode.getNodeName();

それは私に#textを与えています、それはテキストがあることを意味しますが、なぜそれが表示されないのですか??

4

3 に答える 3

0

オプションの上にノードを1つ追加します

<test> 
<Option type="menu">
  <Name>MENU1</Name>
  <Option type="action">
      <Name>Action1</Name>
      <Function>Clicked Action1</Function>
  </Option>
</Option>
</test>

次のURLを確認すると、すべてのノードの値を取得できます http://examples.javacodegeeks.com/core-java/xml/sax/get-element-attributes-in-sax-xml-parsing

于 2012-08-16T06:36:41.497 に答える
0

Document Object Model (DOM パーサー) を試す

次のコード スニペットを参照してください。

DocumentBuilderFactory odbf = DocumentBuilderFactory.newInstance();
            DocumentBuilder odb =  odbf.newDocumentBuilder();
            InputSource is = new InputSource(new StringReader(xml));
            Document odoc = odb.parse(is);
            odoc.getDocumentElement().normalize ();    // normalize text representation
            System.out.println ("Root element of the doc is " + odoc.getDocumentElement().getNodeName());
            NodeList LOP = odoc.getElementsByTagName("locations");
            int totalPersons =LOP.getLength();
            System.out.println("Total nos of locations:"+totalPersons);

            for(int s=0; s<LOP.getLength() ; s++)
            {
                Node FPN =LOP.item(s);
                if(FPN.getNodeType() == Node.ELEMENT_NODE)
                    {

                    Element latlon = (Element)FPN;                                                                

                    NodeList oNameList1 = latlon.getElementsByTagName("featured");                                       
                    Element firstNameElement = (Element)oNameList1.item(0);
                    NodeList textNList1 = firstNameElement.getChildNodes();
                    //this.setLocationId(((Node)textNList1.item(0)).getNodeValue().trim());                                 
                    System.out.println("#####The Parsed data#####");
                    System.out.println("featured : " + ((Node)textNList1.item(0)).getNodeValue().trim());            
                    System.out.println("#####The Parsed data#####");

                   }



       }

詳細については、次のリンクを参照してください。

http://tutorials.jenkov.com/java-xml/dom.html

于 2012-08-16T07:04:27.980 に答える
0

私は同様の問題に直面しました。getNodeValue()ではなくgetTextContent()メソッドを試してください。

于 2013-06-11T11:28:47.843 に答える