`

xmlReader

 
阅读更多

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

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    使用 XmlReader 读取 XML 文档

    在.NET框架中,`XmlReader`是用于高效、流式处理XML文档的一个重要类。它不加载整个XML文档到内存,而是逐个读取节点,这样可以有效地处理大型XML文件,减少内存占用。本文将详细介绍如何使用`XmlReader`来读取XML...

    php xmlReader & xmlWriter

    ### 一、xmlReader:灵活的事件驱动解析器 `xmlReader`是一个基于事件的XML解析器,它采用拉取(pull)模式进行操作。相比于传统的推入(push)模式解析器(如SAX),`xmlReader`允许用户更自由地控制解析流程。这...

    xmlReader_解析xml文件

    `xmlReader`是一个XML解析扩展,它允许开发者逐节点地读取XML文档,而无需一次性加载整个文件到内存中,这对于处理大型XML文件特别有用。这种逐节点处理的方式可以有效地节省资源,并提高程序的效率。 1. **创建...

    iOS XMLReader

    XMLReader是一个专为iOS设计的XML解析器,它可以将XML数据转换成Objective-C的数据结构,如NSDictionary,使得开发者能够更便捷地处理XML文档中的信息。 XMLReader的核心功能在于将XML文档的内容解析并转化为...

    XmlReader(XML阅读器).rar_xml 阅读器_xmlreader_xml树形阅读器_xml阅读_xml阅读器

    在处理XML文件时,`XmlReader`是.NET框架中的一种高效的工具,它是XML树形阅读器,专门设计用来流式处理XML文档。本篇文章将详细介绍XML阅读器`XmlReader`以及如何使用它来查看XML文件内容。 首先,让我们了解`...

    SimpleXMLReader, 包装的XMLReader类,用于对大型xml进行简单的SAX读取.zip

    SimpleXMLReader, 包装的XMLReader类,用于对大型xml进行简单的SAX读取 简单的XML阅读器包装器XMLReader类,用于简单的英镑 SAX -reading ( 简单的XPath -queries ),代价为大。对其他xml库的内存使用的最小 ( 。...

    Video8.Demo1.XmlReader

    《深入解析XmlReader在.NET框架中的应用》 XmlReader是.NET框架中用于处理XML文档的一个高效、非缓存的读取器。它提供了一种逐节点读取XML数据的方法,而不是一次性加载整个文档到内存中,这使得处理大型XML文件变...

    Silverlight使用XmlReader读取XML并加载到TreeView

    在本文中,我们将深入探讨如何在Silverlight应用中利用XmlReader来解析XML文档,并将解析出的数据有效地加载到TreeView控件中。Silverlight是微软推出的一种轻量级的富客户端技术,它允许开发者创建交互式的、图形...

    XmlReader.zip

    在"XmlReader"项目中,用户界面可能包含一个文本编辑器用于显示XML内容,以及一系列的按钮执行不同的操作。用户可以打开XML文件,然后通过界面进行实时修改。每次操作后,界面会更新显示XML的新状态,同时保留原始...

    XmlReader的m文件

    @property (nonatomic, strong) NSMutableArray *dictionaryStack; @property (nonatomic, strong) NSMutableString *textInProgress; @property (nonatomic, strong) NSError *errorPointer;

    2_XMLreader.cs

    2_XMLreader.cs

    基于C#中XmlReader读取Xml的深入分析

    XmlReader是.NET Framework提供的一种高效的XML解析器,它在处理大型XML文档时特别有用,因为它不需要一次性加载整个文档到内存中。本篇文章将深入探讨如何在C#中使用XmlReader来读取XML文档,以及其背后的原理和...

    XML.rar_ XmlTextWriter_NEW_XmlTextWriter_xml_xmlreader

    用C#操作xml xmlFilePath = textBox2.Text FileStream fs = new FileStream(filePath ,FileMode.... XmlTextWriter xmlreader = new XmlTextWriter(xmlFilePath+"IMAGEENCODING.xml" ,System .Text .Encoding .UTF8 )

    XmlReader 读取器读取内存流 MemoryStream 的注意事项

    XmlReader 是 .NET Framework 中用于高效、非缓存、向前只读访问 XML 数据的类。它不存储整个 XML 文档,而是逐个读取节点,从而节省内存资源。当需要处理大型 XML 文档或需要控制内存使用时,XmlReader 是一个理想...

    PHP中使用xmlreader读取xml数据示例

    相比于DOM,XMLReader在处理大型XML文件时更为优秀,因为它不将整个文件加载到内存中,而是以流(stream)的形式按需读取,这使得它在处理大文件时更加节省资源。 本示例中,我们的目标是读取一个XML文件,其内容...

    xmlreader:Java 中的 XMLReader

    Java 中的 XMLReader 这是一个用 Java 编写的 XMLReader。 此代码执行的任务是读取 src 文件夹中名为 XMLfileToBeParsed 的 XML 文件的内容。 此代码使用 java.io 和 javax.xml.stream 库。 它读取xml文件并以如下...

    poi读取大文件Excel,使用xml格式解析,速度实测50mb文件13s,可指定sheet页内容,带工具类和测试类

    同时,需要创建`OPCPackage`实例打开文件,然后使用`XMLReader`和`SAXParserFactory`来解析XML流。 以下是一个简化的代码示例: ```java import org.apache.poi.xssf.eventusermodel.ReadOnlySharedStringsTable; ...

    XMLReader:基于NSXMLParser的Objective-C XML阅读器

    XMLReader 该项目来自Troy Brant开发的组件,该组件发布在他的网站上: : 我正在公开采购我对此所做的一些更新。 用法 NSData *data = ...; // some data that can be received from remote service NSError *...

Global site tag (gtag.js) - Google Analytics