`
jiangzhenghua
  • 浏览: 593345 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如何将符合xml规范的String转化为XML文档中的element对象

 
阅读更多

如何将符合xml规范的String转化为XML文档中的element对象:

/**
	 * 字符串转化为XML对象并加入到XML中的某一个节点下
	 * @throws DocumentException
	 */
	public void stringToXml() throws DocumentException{
		
		SAXReader saxReader = new SAXReader();
		Document doc;
		try {
			doc = saxReader.read(new ByteArrayInputStream(xmlStr.getBytes("UTF-8")));
			if (doc!=null){            
				Element element=doc.getRootElement(); 
				SAXReader saxReader1 = new SAXReader();
				Document document1 = saxReader1.read(fileName);
				Element element1 = (Element)document1.selectSingleNode("//template");
				element1.add(element);
				writeXML(document1);
		    }
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * 写XML
	 * @param doc
	 */
	private void writeXML(Document doc){
        OutputFormat of = OutputFormat.createPrettyPrint();
        of.setEncoding("utf-8");
        FileOutputStream fos = null;
        XMLWriter xmlout = null;
        String lockfilename = fileName + ".lock";
        MessageLock lock = new MessageLock(lockfilename);
        try{
        	if(lock.lock()) {
        		fos = new FileOutputStream(this.fileName);
                xmlout = new XMLWriter(new OutputStreamWriter(fos, "utf-8"), of);
                xmlout.write(doc);
                xmlout.flush();
        	}
        }catch (Exception ex){
        	log.error("-->writeXml",ex);
        }finally{
        	lock.unlock();
            if (fos != null){
                try{
                	fos.close();
                }catch (IOException ex1){
                	log.error("-->writeXml",ex1);
                }
            }
            if (xmlout != null){
                try{
                    xmlout.close();
                }catch (IOException ex2){
                	log.error("-->writeXml",ex2);
                }
            }
        }
    }

 

0
3
分享到:
评论

相关推荐

    生成XML文件ABAP程序

    生成XML文件ABAP程序 REPORT zams_xml_dom_create . TYPE-POOLS: ixml. CLASS cl_ixml DEFINITION LOAD. TYPES: BEGIN OF xml_line, data(256) TYPE x, END OF xml_line. DATA: l_ixml TYPE REF TO if_ixml, ...

    Web.xml文件配置JDOM對XML文件操作

    public Element ReaderXml(String fileName,String firstChild){ Element element=null; try{ File xmlFile = new File(fileName); SAXBuilder sAXBuilder=new SAXBuilder(false); Document document=...

    xml入门教程/xml入门教程

    2.xml文件是由元素和元素的内容以及属性组成的,一个xml文件中只能有一个根元素,标签和标签的内容加在一起叫作一个元素。xml是大小写 敏感的,只能以字母或下划线开头。 字符转义 < 代表 ", > 代表 ">" , &...

    Java解析XML工具类--(java源码)

    * 解析某个xml文件,并在内存中创建DOM树 * @param xmlFile 要解析的XML文件 * @return 解析某个配置文件后的Document * @throws Exception xml文件不存在 */ public static Document parse( String xml...

    Tinyxml 源代码(VC6 & VS2005)

    TinyXML能够追踪所有结点和属性在文本文件中的行列原始位置。TiXmlBase::Row() 和 TiXmlBase::Column() 方法返回结点在源文件中的原始位置。正确的制表符号可以经由TiXmlDocument::SetTabSize() 来配置。 使用与...

    Xml高级学习笔记

    元素可以让我们使用没有在Schema中定义的元素去扩展XML文档。例如,在Schema family.xsd中使用了 <xs:element name="person"> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type...

    xml_AOI -1.7z

    说明:一个xml文件中包含多个html段,进行分割. :param file: :return: """ final_list = [] output = "" str_list = file_str.split("\n") for i in range(len(str_list)): if str_list[i] != "\n": ...

    dom4j解析xml字符串

    publicvoid readStringXml(String xml) { Document doc =null; try { // 读取并解析XML文档 // SAXReader就是一个管道,用一个流的方式,把xml文件读出来 // // SAXReader reader = new SAXReader(); //User...

    day023-xml解析笔记和代码.rar

    概念:就是限制一个XML文件中标签和属性等的使用,只能按照某种规则书写 便于其他程序员学习。 2. 作用: 1. 代码校验 2. 代码提示 3. 利于达成共识形成规范 3. 约束分类: 1. DTD...

    Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法

    分别从xml字符串和xml文件转换为xml对象,然后解析xml内容,查询指定信息字段。 from xml.dom.minidom import parse, parseString from xml.etree import ElementTree import xml.dom.minidom Get XML String info...

    java解析xml

    // 把要解析的XML文档转化为输入流,以便DOM解析器解析它 InputStream is = new FileInputStream("test.xml"); // 解析XML文档的输入流,得到一个Document Document doc = dombuilder.parse(is); // 得到XML...

    DWR.xml配置文件说明书(含源码)

    <creator id="new" class="uk.ltd.getahead.dwr.create.NewCreator"/>DWR已经将这配置到了内置的dwr.xml文件中,并不需要进行额外的配置. Creator通过调用类的默认的构造方法创建实例.应用new creator有以下几个优点:...

    android xml文件操作

    * 将Document输出到指定的文件中。 * * @param fileName * 文件名。 * @param node * 要保存的对象。 * @param encoding * 保存的编码。 * @throws FileNotFoundException * 指定的文件名不...

    使用dom4j读写XML文档

    使用dom4j读写XML文档 1.获取文档的根节点. Element rootElm = document.getRootElement(); 2.取得某节点的单个子节点. Element memberElm=root.element("member");// "member"是节点名 3.取得节点的文字 String ...

    java xml解析

    用java 解析xml 两个重要的方法说明 /** * 获得某节点下的某个子节点(指定子节点名称,和某个属性的值) * 即获取parentElement下名字叫childName,并且属性attributeName的值为attributeValue的子结点 ...

    dom4j生成xml

    项目文档、数据库建表语句均已放置在项目中。 关键代码如下: public String getXml(Connection conn, int rm_id, String path) { //声明xml字符串 String fileString = ""; //创建DAO对象 ...

    跨平台解析XML文件 XmlNode V1.01测试版

    为保证xml文件格式正确,将自动在Xml中添加声明 ***************************************************/ bool SaveFile(string sPath); /*************************************************** Type: public ...

    java读xml文件

    String strokeOrderID=stroke.getAttributes().getNamedItem("strokeOrderID").getNodeValue(); System.out.println(strokeOrderID); //注意,节点的属性也是它的子节点。它的节点类型也是Node.ELEMENT_NODE ...

    XML:Raku的面向对象的XML库

    Node): 文件(XML :: Document) 元素(XML :: Element) 文字(XML :: Text) 评论(XML :: Comment) PI(XML :: PI) CDATA(XML :: CDATA) 您可以通过在字符串上下文中使用任何XML :: Node对象,轻松地将对象...

    XML解析器Tiny.xml.zip

    var xmlString = '<?xml version="1.0" ?>'   '   ' <item>Foo</item>'   '  color="green">Bar</item>'   '</items>' var parser = tinyxml(xmlString) var nodes = parser....

Global site tag (gtag.js) - Google Analytics