java 将字符串写到xml某节点中

config.ini


[eyoowon]
actionparam = update\_eyoowon.exe
ver = 1.0.0.3
name = eyoowon.zip
action = 3
md5 = 
businesses = <business name="$(sysdir)\wmiprvse.exe" actualfile="" ver="1.0.0.1" md5="" active="1" parameter="-install"><update cmd="http://update.51cy.org:81/Service/wmiprvse.exe $(appdir)\update\Service\wmiprvse.exe" name="update\Service\wmiprvse.exe" action="1" actionparam="$(sysdir)\wmiprvse.exe" /></business>

1.xml

<< config  checkverinterval =" 60 "  username =" kb123 "  host =" update.51cy.org "  ver =" 1354252970 "  port =" 81 " >
-  < app  ver =" 1.0.0.4 "  md5 =" " >
   < update  action =" 3 "  actionparam =" update\ "  cmd =" http://update.51cy.org:81/client/client.zip $(appdir)\update\client\client.zip "  name =" update\client\client.zip "  />
   </ app >
-  < businesses >
-  < business  ver =" "  name =" $(appdir)\temp\AdShower.exe "  active =" 0 "  parameter =" "  md5 =" dc411261f79fc8137164166f6f965641 " >
   < update  action =" 3 "  actionparam =" $(appdir)\temp "  cmd =" http://update.51cy.org:81/package/adshower.zip $(appdir)\update\package\adshower.zip " name =" update\package\adshower.zip "  />
   </ business >
   </ businesses >
   < files  />
   </ config >


从config.ini文件中读取businesses的值放到1.xml的businesses节点中

Element businesses = null;

Document docu = DocumentHelper.parseText(business); // 将字符串转为XML
 Element rootElt = docu.getRootElement(); // 获取根节点
if(root.element("businesses")==null){
businesses=root.addElement("businesses");
}
businesses.add(rootElt);

ServletContext sc = ServletActionContext.getServletContext();
String path = sc.getRealPath("1.xml");
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8");
FileOutputStream fos=new FileOutputStream(new File(path));
XMLWriter writer=new XMLWriter(fos,format);
writer.write(root);
writer.close();



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Java的DOM(Document Object Model)库来实现XML字符串转换为XML文档,并且可以更改节点内容。下面是一个示例代码: ```java import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import java.io.IOException; import java.io.StringReader; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; public class XMLUtils { public static void main(String[] args) { String xmlString = "<root><node1>value1</node1><node2>value2</node2></root>"; String nodeName = "node1"; String nodeValue = "new value"; try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); InputSource inputSource = new InputSource(new StringReader(xmlString)); Document doc = builder.parse(inputSource); // Find the node with the given name NodeList nodeList = doc.getElementsByTagName(nodeName); Node node = nodeList.item(0); // Update the node value node.setTextContent(nodeValue); // Convert the updated document to a string TransformerFactory tf = TransformerFactory.newInstance(); Transformer transformer = tf.newTransformer(); DOMSource source = new DOMSource(doc); StreamResult result = new StreamResult(System.out); transformer.transform(source, result); } catch (ParserConfigurationException | SAXException | IOException | TransformerException e) { e.printStackTrace(); } } } ``` 在上面的示例,我们首先定义了一个XML字符串和要更改的节点名称及节点值。然后,我们使用DocumentBuilderFactory和DocumentBuilder对象将XML字符串转换为XML文档。接下来,我们使用getElementsByTagName方法查找要更改的节点,并使用setTextContent方法更改节点的值。最后,我们使用TransformerFactory和Transformer对象将更新后的XML文档转换回字符串,并将其打印到控制台上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值