package schedulers;
import java.io.File;
import java.io.StringReader;
import java.io.StringWriter;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import util.PubFun;
public class XMLReader {
private Document instance = null;
public XMLReader( File file ) {
try {
final SAXReader xmlReader = new SAXReader();
instance = xmlReader.read(file);
} catch (DocumentException e) {
System.out.println(file.getPath() + " can't be found");
}
}
public XMLReader(StringReader stringReader) {
try {
final SAXReader xmlReader = new SAXReader();
instance = xmlReader.read(stringReader);
//logger.debug("StringReader successfully loaded");
} catch (DocumentException e) {
System.out.println("StringReader can't be load => "+stringReader.toString());
}
}
public XMLReader(String strXML) {
try {
instance = DocumentHelper.parseText(strXML);
} catch (DocumentException e) {
System.out.println("StringReader can't be load => "+strXML);
}
}
public String getValue( String nodeName ) {
if (!PubFun.isNullorBlank(nodeName)) {
final Node node = instance.selectSingleNode(nodeName);
return ("null".equals(node.getText()) ? null : node.getText());
} else {
System.out.println("String is NULL");
return null;
}
}
public List getNodes( String nodeName ) {
if (!PubFun.isNullorBlank(nodeName)) {
List listNodes = instance.selectNodes(nodeName);
return listNodes;
} else {
System.out.println("String is NULL");
return null;
}
}
public String getNodeValue( Node node, String nodeName ) {
if (!PubFun.isNullorBlank(nodeName)) {
final Node subNode = node.selectSingleNode(nodeName);
return ("null".equals(subNode.getText()) ? null : subNode.getText());
} else {
System.out.println("String is NULL");
return null;
}
}
public boolean removeNode(Node node){
return node.getParent().remove(node);
}
public Element addElement(String elementName){
return instance.getRootElement().addElement(elementName);
}
public Document getRoot(){
return instance;
}
public String writeToString(){
StringWriter strReturn = new StringWriter();
XMLWriter writer = null;
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GBK");
try {
//writer= new XMLWriter(ll,format);
writer = new XMLWriter(strReturn,format);
//writer = new XMLWriter(new FileOutputStream(new File("c:\\aaa.xml")),format);
writer.write(instance);
writer.close();
} catch (Exception e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return strReturn.toString();
}
}
分享到:
相关推荐
在.NET框架中,`XmlReader`是用于高效、流式处理XML文档的一个重要类。它不加载整个XML文档到内存,而是逐个读取节点,这样可以有效地处理大型XML文件,减少内存占用。本文将详细介绍如何使用`XmlReader`来读取XML...
### 一、xmlReader:灵活的事件驱动解析器 `xmlReader`是一个基于事件的XML解析器,它采用拉取(pull)模式进行操作。相比于传统的推入(push)模式解析器(如SAX),`xmlReader`允许用户更自由地控制解析流程。这...
`xmlReader`是一个XML解析扩展,它允许开发者逐节点地读取XML文档,而无需一次性加载整个文件到内存中,这对于处理大型XML文件特别有用。这种逐节点处理的方式可以有效地节省资源,并提高程序的效率。 1. **创建...
XMLReader是一个专为iOS设计的XML解析器,它可以将XML数据转换成Objective-C的数据结构,如NSDictionary,使得开发者能够更便捷地处理XML文档中的信息。 XMLReader的核心功能在于将XML文档的内容解析并转化为...
在处理XML文件时,`XmlReader`是.NET框架中的一种高效的工具,它是XML树形阅读器,专门设计用来流式处理XML文档。本篇文章将详细介绍XML阅读器`XmlReader`以及如何使用它来查看XML文件内容。 首先,让我们了解`...
SimpleXMLReader, 包装的XMLReader类,用于对大型xml进行简单的SAX读取 简单的XML阅读器包装器XMLReader类,用于简单的英镑 SAX -reading ( 简单的XPath -queries ),代价为大。对其他xml库的内存使用的最小 ( 。...
《深入解析XmlReader在.NET框架中的应用》 XmlReader是.NET框架中用于处理XML文档的一个高效、非缓存的读取器。它提供了一种逐节点读取XML数据的方法,而不是一次性加载整个文档到内存中,这使得处理大型XML文件变...
在本文中,我们将深入探讨如何在Silverlight应用中利用XmlReader来解析XML文档,并将解析出的数据有效地加载到TreeView控件中。Silverlight是微软推出的一种轻量级的富客户端技术,它允许开发者创建交互式的、图形...
在"XmlReader"项目中,用户界面可能包含一个文本编辑器用于显示XML内容,以及一系列的按钮执行不同的操作。用户可以打开XML文件,然后通过界面进行实时修改。每次操作后,界面会更新显示XML的新状态,同时保留原始...
@property (nonatomic, strong) NSMutableArray *dictionaryStack; @property (nonatomic, strong) NSMutableString *textInProgress; @property (nonatomic, strong) NSError *errorPointer;
2_XMLreader.cs
XmlReader是.NET Framework提供的一种高效的XML解析器,它在处理大型XML文档时特别有用,因为它不需要一次性加载整个文档到内存中。本篇文章将深入探讨如何在C#中使用XmlReader来读取XML文档,以及其背后的原理和...
用C#操作xml xmlFilePath = textBox2.Text FileStream fs = new FileStream(filePath ,FileMode.... XmlTextWriter xmlreader = new XmlTextWriter(xmlFilePath+"IMAGEENCODING.xml" ,System .Text .Encoding .UTF8 )
XmlReader 是 .NET Framework 中用于高效、非缓存、向前只读访问 XML 数据的类。它不存储整个 XML 文档,而是逐个读取节点,从而节省内存资源。当需要处理大型 XML 文档或需要控制内存使用时,XmlReader 是一个理想...
相比于DOM,XMLReader在处理大型XML文件时更为优秀,因为它不将整个文件加载到内存中,而是以流(stream)的形式按需读取,这使得它在处理大文件时更加节省资源。 本示例中,我们的目标是读取一个XML文件,其内容...
Java 中的 XMLReader 这是一个用 Java 编写的 XMLReader。 此代码执行的任务是读取 src 文件夹中名为 XMLfileToBeParsed 的 XML 文件的内容。 此代码使用 java.io 和 javax.xml.stream 库。 它读取xml文件并以如下...
同时,需要创建`OPCPackage`实例打开文件,然后使用`XMLReader`和`SAXParserFactory`来解析XML流。 以下是一个简化的代码示例: ```java import org.apache.poi.xssf.eventusermodel.ReadOnlySharedStringsTable; ...
XMLReader 该项目来自Troy Brant开发的组件,该组件发布在他的网站上: : 我正在公开采购我对此所做的一些更新。 用法 NSData *data = ...; // some data that can be received from remote service NSError *...