2013-04-30 44 views
1

即時嘗試解析XML文件,但它不會打印屬性值。我不知道如何從手機Java Dom getAttribute

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>[email protected]</Email> 
    <phone typ="mobil">09443916565</phone> 
    <sal>500</sal> 
    </Author> 
    <Author> 
    <Id>2</Id> 
    <Name>second</Name> 
    <Email>[email protected]</Email> 
    <phone typ="pevna">094415665465</phone> 
    <sal>1000</sal> 
    </Author> 

還有一件事屬性類型:NIS有可能只是打印XML文件(的System.out.println)樹表示?

謝謝

回答

2

您目前正在尋求的<Author>元素的typ屬性(兩次,出於某種原因)。您應該獲取<phone>元素(您已經在做),然後要求屬性爲元素,而不是<Author>元素。

+0

所以我需要一個更多的循環與電話nodelist? – ivanz 2013-04-30 19:24:33

+0

@sevdah:不,不一定 - 這取決於您是否期待多個「phone」元素。 (您目前的代碼只提取一個,所以你可以在這裏做同樣的事情......) – 2013-04-30 19:25:38

+0

每個作者的一個手機元素。我不知道如何調用該元素的getattribute方法.... – ivanz 2013-04-30 19:32:05