1

私はxmlファイルを解析しようとしていますが、属性値を出力しません。電話から属性タイプを取得する方法がわかりません

 try {  String subor = "Noviny.xml";
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(subor);
System.out.println("----------------\n");
NodeList nodelist = document.getElementsByTagName("Author");
NodeList nodelist1 = document.getElementsByTagName("Article");
for(int i = 0; i < nodelist.getLength(); i++) {
  Node uzol = nodelist.item(i);
  if (uzol.getNodeType() == Node.ELEMENT_NODE)
  {
      Element element = (Element) uzol;
      System.out.println("Id:" + element.getElementsByTagName("Id").item(0).getTextContent() + "\n"); 
      System.out.println("Name:" + element.getElementsByTagName("Name").item(0).getTextContent() + "\n");
      System.out.println("Email:" + element.getElementsByTagName("Email").item(0).getTextContent() + "\n");
      System.out.println("typ: " + element.getAttribute("typ") + "\n");
      System.out.println("phone:" + element.getElementsByTagName("phone").item(0).getTextContent() + "\n");
      System.out.println("typ: " + element.getAttribute("typ") + "\n");
      System.out.println("sal: " + element.getElementsByTagName("sal").item(0).getTextContent() + "\n"); 
    }


    catch (Exception e) {
  e.printStackTrace();
}

およびxml

<Noviny>
  <Author>
    <Id>1</Id>
    <Name>first</Name>
    <Email>first@gmail.com</Email>
    <phone typ="mobil">09443916565</phone>  
    <sal>500</sal>
  </Author>
  <Author>
    <Id>2</Id>
    <Name>second</Name>
    <Email>second@gmail.com</Email>
    <phone typ="pevna">094415665465</phone>  
    <sal>1000</sal>
  </Author>

もう 1 つ: xml ファイルの (System.out.println) ツリー表現を印刷することは可能ですか?

ありがとうございました

4

1 に答える 1

2

typ現在、要素の属性を要求しています<Author>(何らかの理由で 2 回)。要素を取得し<phone>(既に行っています)、要素ではなく、そのtyp要素の属性を要求する必要があります。<Author>

于 2013-04-30T19:19:05.430 に答える