简体   繁体   English

如何从java eclipse DOM上的XML文件中获取href值

[英]How to get href value from XML file on java eclipse DOM

I have an XML file in the format: 我有一个格式的XML文件:

<?xml version="1.0"?>

    <company>
    <tr>
    <td align="center" style="width:50px;">9850</td>
    <td align="center" style="width:150px;">Europe</td>
    <td align="center" style="width:150px;">Ukraine</td>
    <td align="center" style="width:100px;">Kiev</td>
    <td align="center"><a href="details.aspx?page=default&amp;post=99664">Kiev 1</a> </td> 
    </tr>
 </company>

My program 我的节目

import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.parsers.DocumentBuilder;

import org.w3c.dom.Document;

import org.w3c.dom.NodeList;

import org.w3c.dom.Node;

import org.w3c.dom.Element;

import java.io.File;

public class Myversion { public static void main(String argv[])  {

        try { File myfile = new File("/Users/Nik/Downloads/1.xml");

    DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();

    DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();

    Document doc = dBuilder.parse(myfile);

    doc.getDocumentElement().normalize();

    NodeList nodeList = doc.getElementsByTagName(doc.getDocumentElement().getChildNodes().item(1).getNodeName());;

    for (int temp = 0; temp < nodeList.getLength(); temp++) {

    Node nNode = nodeList.item(temp);

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

    Element element = (Element) nNode;

    System.out.print("id"+temp+" "+element.getElementsByTagName("td").item(0).getTextContent());
    System.out.print(" "+element.getElementsByTagName("td").item(1).getTextContent());
    System.out.print(" "+element.getElementsByTagName("td").item(2).getTextContent());
    System.out.print(" "+element.getElementsByTagName("td").item(3).getTextContent());
    System.out.print(" "+element.getElementsByTagName("td").item(4).getTextContent());

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

Output: 输出:

id0 98500 Europe Ukraine Kiev Kiev 1

How can ia get value of href ? 我怎样才能获得href的价值? What need to put in code to output link ? 什么需要输入代码输出链接?

Add this code in side for loop 在side for循环中添加此代码

  Node href = element.getElementsByTagName("td").item(4);
    NodeList hrefList = href.getChildNodes();
    Element hrefEle = (Element)hrefList.item(0);
    System.out.println("href of "+ href.getTextContent() +"-->"+hrefEle.getAttribute("href"));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM