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());
}
}

sax xpath读取xml字符串的更多相关文章

  1. 利用SAX解析读取XML文件

    xml     这是我的第一个BLOG,今天在看<J2EE应用开发详解>一书,书中讲到XML编程,于是就按照书中的步骤自己测试了起来,可是怎么测试都不成功,后来自己查看了一遍源码,发现在读 ...

  2. 利用XPath读取Xml文件

    之所以要引入XPath的概念,目的就是为了在匹配XML文档结构树时能够准确地找到某一个节点元素.可以把XPath比作文件管理路径:通过文件管理路 径,可以按照一定的规则查找到所需要的文件:同样,依据X ...

  3. XPath读取xml文件

    1.创建解析工厂 2.创建解析器 3.读xml文件,生成w3c.docment对象树 4.创建XPath对象 5.通过路径查找对象 例子: import javax.xml.parsers.Docum ...

  4. sqlserver 读取xml 字符串方法

    declare @xml xml declare @propertyName varchar(50)  declare @str nvarchar(max)   set @propertyName = ...

  5. dom4j处理xml文件,读取xml字符串,格式化xml文件

    1.xml文件 <?xml version="1.0" encoding="UTF-8"?> <employees> <emplo ...

  6. 读取XML字符串到临时表

    DECLARE @hdoc int DECLARE @doc xml SET @doc = '<CityValueSet> <CityItem> <CityId>2 ...

  7. MSSQL读取xml字符串到临时表

    DECLARE @hdoc int DECLARE @doc xml SET @doc ='<CityValueSet> <CityItem> <CityId>20 ...

  8. 读取xml字符串

    string strXml = @"<MessageData><pm_id>10</pm_id><pm_title>这是公司或者产品的名称&l ...

  9. xpath 操作XML

    1.xpath 操作XML,底下部分代码被注释了,但是是完整功能,去除注释是正常使用的(有写命名和其他冲突,所以注释了) 总体有:完整读取xml,对xml的增删改查,对xml的特定操作 using S ...

随机推荐

  1. Yii源码阅读笔记(三十四)

    Instance类, 表示依赖注入容器或服务定位器中对某一个对象的引用 namespace yii\di; use Yii; use yii\base\InvalidConfigException; ...

  2. OMXplayer播放视频的参数说明

    1.OMXplayer支持硬解码,因此是一个非常不错的选择.2.支持格式目前知道的有:MKV.AVI.FLV.MP43.如果想用全屏播放,参数是:-r4.如果想用HDMI输出声音,参数是:-o hdm ...

  3. 解决Win10图片打开方式没有“Windows照片查看器”问题

    1.打开注册表编辑器(Win+R,Regedit),定位至(建议修改前备份注册表): HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Photo Viewe ...

  4. Android--Intent(意图)

    Intent(意图)是安卓系统中最重要的概念, 它是一种消息传递机制, 用于系统与应用程序组件之间的交互, 意图可以分为3类, 分别是: 活动意图, 广播意图和服务意图 1. Activity Int ...

  5. iOS10新特性

    1.Siri API 的开放自然是 iOS 10 SDK 中最激动人心也是亮眼的特性.Apple 加入了一套全新的框架 Intents.framework 来表示 Siri 获取并解析的结果. 在 i ...

  6. [原创]快速指定SQLDeveloper所使用JDK的方法

    就众多的免费SQL开发工具来讲,Oracle出品的SQLDeveloper 还是一个很不错的选择. 看到网上不少的帖子讨论SQL Developer 启动的时候报告找不到Java Home(或JDK) ...

  7. WP8.1 侧边滑动Item

    效果图 我看ios 和安卓上有好多类似的Item的效果,UWP上有微软官方的库,其中也有类似得效果,看样子WP8.1没有啊,顺便我的程序也是需要,我也就仿了一个. 具体思路是: 触摸控制GRId在CA ...

  8. ajax交互方法实现

    AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个 ...

  9. Python开发【十一章】:数据库操作Memcache、Redis

    一.Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的 ...

  10. Android 基于Android的手机邮件收发(JavaMail)之二( Welcome.java 和 ReceiveAndSend.java )

    周末休息,这次我们继上次内容继续.上一篇内容我们讲述的是一些准备工作.下载两个javamail.jar和activation.jar文件,然后再BuildPath~ 言归正传,为了展示效果,在这里我申 ...