0

我是 xml 文档的新手。我需要提取上面的 xml 并将其放入数组的集合中。

          <billingOrderSummary>
               <Order OrderNo="1">
             <Name>Teleflora's Fall in Love - Premium</Name>
            <Img>/Images/products/SW0_372709.jpg</Img>
              <EditItem>detail_id=32734269&amp;frompage=payment&amp;checkoutflag=2</EditItem>
            <DeleteItem>ReloadOrderdetails(32734269)</DeleteItem>
            <Item>
               <Name>price</Name>
               <Value> $59.95</Value>
            </Item>
            <Item>
             <Name>Service Fee:</Name>
             <Value> $10.00</Value>
            </Item>

             <Item>
               <Name>deliver on 8/31/2013 to</Name>
                <Value>Richard Timbo's Test Store</Value>
                <Value>1 Main St &#13;
                     San Jose, CA10126&#13;
                      United States</Value>
                 <Value>978-978-9789</Value>
                 </Item>
                <Item>
                   <Name>card type</Name>
                    <Value>Father's Day</Value>
                 </Item>

                 <Item>
                   <Name>message:</Name>
                    <Value>gtreg</Value>
                   <Value>gfdg</Value>
                  </Item>
             </Order>
        </billingOrderSummary>

这是我尝试过的代码。

                NodeList nodeList = gotoBillingPage.getElementsByTagName('Order');
        print 'nodeList'+ nodeList
        for (int temp = 0; temp < nodeList.getLength(); temp++) {

                   Node nNode = nodeList.item(temp);

                   System.out.println("\nCurrent Element :" + nNode.getNodeName());

                   if (nNode.getNodeType() == Node.ELEMENT_NODE) {

                       Element eElement = (Element) nNode;

                       System.out.println("Staff id : " + eElement.getAttribute("OrderNo"));

                       System.out.println("First Name : " + eElement.getElementsByTagName("Item").item(0).getTextContent());

                       int item = eElement.getElementsByTagName("Item").getLength();

在这里,我确实知道提取每个 .

注意:在最后我有一个孩子和两个孩子。

我也知道如何提取这些价值。

谁能帮我。

4

1 回答 1

0

尝试以下代码提取所有 Item 节点的所有子节点。

NodeList itemElements = document.getElementsByTagName("item");
for (int i = 0; i < itemElements.getLength(); i++)
{
    Element itemElement = (Element) itemElements.item(i);
    NodeList childNodes = itemElement.getChildNodes();
    for (int j = 0; j < childNodes.getLength(); j++)
    {
        Node childNode = childNodes.item(j);

        if (!(childNode instanceof Element)) {
            continue;
        }

        Element childElement = (Element) childNode;

        ... your comes code here ...
    }
}
于 2013-08-29T06:18:35.150 回答