`
jiangzhenghua
  • 浏览: 600229 次
  • 性别: 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
分享到:
评论

相关推荐

    dom4j以String的方式读取XML的内容,并给String的值赋值,写入XML中

    要将XML文件读取为String,首先需要创建一个`Document`对象,这是DOM4J的核心数据结构,代表整个XML文档。可以使用`DocumentHelper`类的静态方法`parseText()`或`readFile()`来完成这个任务。例如: ```java ...

    map/list集合转化成xml字符串 xml字符串转化成map/list集合

    首先,你需要创建一个`JAXBContext`实例,然后使用`Marshaller`对象将`Map`对象写入XML字符串。 ```java import javax.xml.bind.JAXBContext; import javax.xml.bind.Marshaller; public String mapToXml(Map...

    Xml表格转化为Js对象

    3. **处理属性**:元素的属性转换为对象的属性。如果多个元素具有相同的标签名,可能需要将它们存储为数组。 4. **处理命名空间**:XML可能包含命名空间,这需要特殊处理,例如通过创建子对象来表示命名空间。 5. ...

    pb下读写xml文件的例子.rar_pb_pb 读取xml_pb 读取xml文件_pb9 xml_pb下读写xml文件的例子

    3. 保存XML文件:使用`SaveXMLFile()`方法,将XMLDocument对象的内容保存到文件中。 例如: ```powerbuilder object xmlDoc : XMLDocument string strFilePath = "C:\new_example.xml" // 创建XMLDocument对象 ...

    C# xmlToList xml转换成对象

    第一种方法是通过`XmlNodeReader`来逐个读取XML节点,并将其转化为指定的对象。以下是一般的步骤: 1. 加载XML文件:使用`XmlDocument`类加载XML文件内容。 2. 创建XmlNodeReader:用`XmlNodeReader.Create()`方法...

    Csharp读写XML文件

    本教程将深入讲解如何使用C#进行XML文件的读写操作,包括增加、删除、修改和查找元素。 首先,我们要了解C#中的System.Xml命名空间,它提供了处理XML文档的各种类。主要涉及以下类: 1. **XmlDocument**:这是处理...

    根据xml schema生成xml

    这篇博客文章“根据XML Schema生成XML”探讨了如何使用XML Schema来创建符合规范的XML文档。 首先,理解XML Schema的基本元素是关键。XML Schema定义了一系列的元素(element)、属性(attribute)和数据类型(data...

    根据路径取得xml节点,返回string数组

    在这个场景中,我们需要关注的是如何通过Java从XML文件中根据特定路径获取节点,并将这些节点的值转化为字符串数组。 首先,我们需要了解Java中处理XML的主要库:DOM(Document Object Model)、SAX(Simple API ...

    使用dom4j将xml字符串转换成Bean对象

    在这个`xmlStrToBean`方法中,我们首先使用`DocumentHelper.parseText()`将XML字符串解析为`Document`对象,然后获取根元素。接着,我们遍历根元素的所有子元素,将每个元素的名称作为Bean的属性名,元素的文本作为...

    xml 文件与xsd文件的转化以及xsd验证xml的合法性

    6. **验证转化**:完成XSD文件编写后,可以用这个XSD文件来验证XML文档是否符合定义的结构和约束。 XSD验证XML的合法性: 1. **解析XSD**:首先,解析XSD文件以获取其定义的规则。 2. **匹配元素和属性**:遍历XML...

    xml文件处理程序

    这通常通过DOM(Document Object Model)解析器完成,首先解析XML文档为内存中的节点树,然后在适当位置插入新节点。 2. 删除:移除特定元素或属性。同样使用DOM,找到要删除的节点并调用其`removeChild()`方法。 3....

    java list和xml互转例子

    本示例涉及的核心知识点是将Java中的List对象与XML文档进行相互转换。这里,我们使用的库是dom4j-1.6.1.jar,这是一个强大的Java XML处理库。 首先,让我们详细了解一下List和XML。List是Java集合框架的一部分,它...

    XML文件导出为本地excel文件

    在Python中,我们可以使用`xml.etree.ElementTree`库解析XML,然后将解析结果转换为`pandas`的DataFrame对象,最后利用`pandas`的`to_excel`方法将DataFrame写入Excel文件: ```python import xml.etree.Element...

    java 通过模板生成 xml,发送报文

    在Java编程中,生成XML文件并发送报文是一项常见的任务,尤其在系统间的数据交换、API调用或者网络通信中。XML(eXtensible Markup Language)是一种结构化数据表示语言,具有良好的可读性和可扩展性,是数据传输的...

    9.7. xml.etree.ElementTree — ElementTree XML的接口(翻译).pdf

    例如,可以使用ET.parse()函数从文件中读取XML,或者使用ET.fromstring()函数从字符串中直接解析XML。一旦数据被解析,就可以通过ElementTree或Element提供的方法来操作数据。 遍历XML树可以通过迭代Element对象来...

    xml.rar_CSharp xml_CSharp xml string

    string xmlString = "<root><element>Value</element></root>"; XDocument doc = XDocument.Parse(xmlString); ``` 2. 查询XML数据: 使用LINQ to XML API,我们可以轻松地查询XML文档中的元素和属性。例如,获取`...

    西工大服务计算实验2-1_XML Schema

    XML Schema,全称为XML Schema Definition,是用于定义XML文档结构和数据类型的规范,它是W3C(World Wide Web Consortium)制定的一种标准。在本实验"西工大服务计算实验2-1_XML Schema"中,你的任务是编写一个程序...

    Java操作XML文件-dom4j .doc

    在代码中,`doc2String()`方法创建了一个`OutputFormat`对象,设置了编码为`GB2312`,然后创建了一个`XMLWriter`实例,将`Document`对象写入到`OutputStream`,最后将`OutputStream`转换为字符串。如果在执行过程中...

    C++通过TinyXML类库读写XML文件示例代码

    本示例将详细讲解如何使用TinyXML库在C++中实现XML文件的读写操作。首先,确保你已经下载并包含了TinyXML库的头文件`tinyxml.h`和`tinyxml.cpp`。接下来,我们将分步骤介绍基本用法。 1. **解析XML文件** 要读取...

    XMLParser(XML解析代码 C++版)

    1. **加载XML文件**:TinyXML能够从文件或字符串中读取XML文档,将其转化为内存中的DOM树。 2. **遍历DOM树**:解析后的XML文档被表示为一系列的元素(Element)、属性(Attribute)、文本(Text)等节点,可以使用...

Global site tag (gtag.js) - Google Analytics