zoukankan      html  css  js  c++  java
  • sax xpath读取xml字符串

    public static void main(String[] args) throws ParserConfigurationException,
    SAXException, IOException, XPathExpressionException {
    // DocumentBuilderFactory domFactory = DocumentBuilderFactory
    // .newInstance();
    // domFactory.setNamespaceAware(true); // never forget this!
    // DocumentBuilder builder = domFactory.newDocumentBuilder();
    // Document doc = builder.parse("c:/solr.xml");
    // XPathFactory factory = XPathFactory.newInstance();
    // XPath xpath = factory.newXPath();
    // Node nd = (Node)xpath.evaluate("solr/cores/@adminPath", doc, XPathConstants.NODE);
    // String txt = nd.getNodeValue();
    // System.out.println(txt);
    //
    // //多核循环读取,属性读取
    // XPath mulXpath = factory.newXPath();
    // Object o = mulXpath.evaluate("solr/cores/core", doc, XPathConstants.NODESET);
    // NodeList nodes = (NodeList) o;
    // for (int i = 0; i < nodes.getLength(); i++) {
    // Node node = nodes.item(i);
    // Node aNode =(Node) node.getAttributes().getNamedItem("name");
    // System.out.println(aNode.getNodeValue());
    // // String opt = DOMUtil.getAttr(node, "name", null);
    // // System.out.println(opt);
    // System.out.println(node.getNodeName());
    // Node eNode = node.getFirstChild();
    // System.out.println(eNode.getNodeValue());
    // System.out.println(node.getNodeType());
    // }
    String strXml = "<?xml version="1.0" encoding="utf-8"?><class><stu><id>1,2,3</id></stu></class>";

    DocumentBuilderFactory domFactory = DocumentBuilderFactory
    .newInstance();
    domFactory.setNamespaceAware(true); // never forget this!
    DocumentBuilder builder = domFactory.newDocumentBuilder();
    InputStream inputStream = new ByteArrayInputStream(strXml.getBytes());;
    Document doc = builder.parse(inputStream);
    XPathFactory factory = XPathFactory.newInstance();
    XPath xpath = factory.newXPath();
    //Node nd = (Node)xpath.evaluate("class/stu/@id", doc, XPathConstants.NODE);
    //String txt = nd.getNodeValue();
    // System.out.println(txt);

    //多核循环读取,属性读取
    XPath mulXpath = factory.newXPath();
    Object o = mulXpath.evaluate("class/stu/id", doc, XPathConstants.NODESET);
    NodeList nodes = (NodeList) o;
    for (int i = 0; i < nodes.getLength(); i++) {
    Node node = nodes.item(i);
    // Node aNode =(Node) node.getAttributes().getNamedItem("name");
    // System.out.println(aNode.getNodeValue());
    // String opt = DOMUtil.getAttr(node, "name", null);
    // System.out.println(opt);
    System.out.println(node.getNodeName());
    Node eNode = node.getFirstChild();
    System.out.println(eNode.getNodeValue());
    System.out.println(node.getNodeType());
    }
    }

  • 相关阅读:
    Vue部署到相对目录和解决刷新404的问题
    JavaScript时间格式转换
    在Vue中使用Chart.Js
    进制转换和大数除法
    esp8266必备知识
    php 添加 freetype支持
    Linux系统时间同步问题
    busybox date 时间的加减
    kubesphere-wokespaces
    添加系统环境变量
  • 原文地址:https://www.cnblogs.com/xjyggd/p/4678800.html
Copyright © 2011-2022 走看看