c修改xml文件内容|使用java如何修改某个xml文件中的某项内容

Ⅰ python 怎么修改xml文件内容

类似于:#!/usr/bin/evnpython#coding:utf-8try:importxml.etree.cElementTreeasETexceptImportError:importxml.etree.ElementTreeasETimportsystry:tree=ET.parse("country.xml")#打开xml文档#root=ET.fromstring(country_string)#从字符串传递xmlroot=tree.getroot()#获得root节点exceptException,e:print"Error:cannotparsefile:country.xml."sys.exit(1)printroot.tag,"—",root.attribforchildinroot:printchild.tag,"—",child.attribprint"*"*10printroot[0][1].text#通过下标访问printroot[0].tag,root[0].textprint"*"*10forcountryinroot.findall('country'):#找到root节点下的所有country节点rank=country.find('rank').text#子节点下节点rank的值name=country.get('name')#子节点下属性name的值printname,rank#修改xml文件forcountryinroot.findall('country'):rank=int(country.find('rank').text)ifrank>50:root.remove(country)tree.write('output.xml')

给你推荐一篇文章看看吧:

http://python.jobbole.com/82775/

Ⅱ C# 读取修改xml文件

读取XML:XmlDocument doc= new XmlDocument();doc.Load("c:\\aa.xml");string path="ntsc/time/day";XmlNode node= doc.SelectSingleNode(path);string text=node.InnerText;//这个就是你的要的值了.修改:XmlNodeList nodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;//获取bookstore节点的所有子节点 foreach(XmlNode xn in nodeList)//遍历所有子节点 { XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型 if(xe.GetAttribute("name")=="ApplePrice"){ xe.SetAttribute("value","32");//32为修改后的值break; } } xmlDoc.Save("bookstore.xml");//保存。

Ⅲ 如何用shell脚本修改XML文件

通过shell脚本修改xml文件中的某行记录跟之前一样,假设有如下的xml文件:web.xml中有如下内容:[html] view plain cookieNamesessionName需求:现在需要利用shell脚本替换掉cookieName对应的value值,利用shell实现方式如下:shell脚本部分:declare -i Dlinegetline(){grep -n "cookieName" ${DOMAIN_HOME}/portal/ROOT/WEB-INF/web.xml | head -1 | cut -d ":" -f 1;}getlinenum(){awk "BEGIN{a=`getline`;b="1";c=(a+b);print c}";}Dline=`getlinenum`;echo "line is ${Dline}";sed -i "${Dline},${Dline}s/.*/ \替换的value值\<\/param-value\>/g" path/web.xml说明:这个跟之前的替换属性文件的区别在于,这个是精确定位到行的,然后替换正行code。这个xml和properties 中都是默认需要替换的内容是唯一的。

Ⅳ 如何修改后缀为XML格式的文件(正确给200分)

这个你可以将它用记事本打开,再将修改<OptionRef Id="AlwaysInstalled"/>为 <OptionRef Id="NeverInstalled"/>修改下一段中AlwaysInstalled为NeverInstalled保存关闭 但是可能你会遇到问题 他可能会提醒需要权限,再后来可能出现路径不对不能修改,(这是我遇到的问题) 如果是这种问题,我建议,你最好先将它剪切到桌面,在打开(记得是记事本打开),再修改,后再复制到C:\ProgramFiles\CommonFiles\MicrosoftShared\OFFICE12\OfficeSetup Controller\Proof.en文件下代替原来的哪个,不要存在两个哦!我像这样就可以了。但是我可是遇到问题了,因为网上的这种结果可能不适合你,当你的office07到了两个月试用期后,照样不能正常使用,我建议最好,重新安装一个office。好了,祝你好运!

Ⅳ 怎么用C语言写一个简单的XML文件

用VC吧,下面有一个例子,你参照下:

voidCreateXml(){CoInitialize(NULL);//创建文档MSXML2::IXMLDOMDocument2PtrpXMLDoc=NULL;//创建DOMDocument对象HRESULThr=pXMLDoc.CreateInstance(__uuidof(MSXML2::DOMDocument));if(!SUCCEEDED(hr)){return;}//MSXML2::=NULL;pXMLProc=pXMLDoc->createProcessingInstruction("xml","version='1.0'encoding='UTF-8'");_variant_tvNullVal;vNullVal.vt=VT_NULL;pXMLDoc->insertBefore(pXMLProc,vNullVal);//创建根结点_variant_tvarNodeType((short)MSXML2::NODE_ELEMENT);MSXML2::IXMLDOMNodePtrpXMLNodeRoot=NULL;pXMLNodeRoot=pXMLDoc->createNode(varNodeType,_T("Cases"),_T(""));//添加根结点pXMLDoc->appendChild(pXMLNodeRoot);//创建并添加下级结点MSXML2::IXMLDOMNodePtrpXMLNodeNode=NULL;pXMLNodeNode=pXMLNodeRoot->appendChild(pXMLDoc->createElement(_T("Case")));//创建下级元素结点MSXML2::IXMLDOMElementPtrpXMLEle=NULL;pXMLEle=pXMLDoc->createElement(_T("CopyFile"));//创建并设置下级结点属性MSXML2::IXMLDOMAttributePtrpXMLAttr=NULL;pXMLAttr=pXMLDoc->createAttribute(_T("src"));pXMLAttr->nodeTypedValue="C:\test.txt";pXMLEle->attributes->setNamedItem(pXMLAttr);pXMLAttr=pXMLDoc->createAttribute(_T("dest"));pXMLAttr->nodeTypedValue="D:\Test.txt";pXMLEle->attributes->setNamedItem(pXMLAttr);//添加元素结点pXMLNodeNode->appendChild(pXMLEle);MSXML2::IXMLDOMElementPtrpXMLEle1=NULL;pXMLEle1=pXMLDoc->createElement(_T("DelFile"));pXMLEle1->appendChild(pXMLDoc->createTextNode("C:\test.txt"));//添加元素结点pXMLNodeNode->appendChild(pXMLEle1);//保存文档pXMLDoc->save(_T("d:\Test.xml"));}效果如下:<?xmlversion="1.0"encoding="UTF-8"?><Cases><Case><CopyFilesrc="C:est.txt"dest="D:Test.txt"/><DelFile>C:est.txt</DelFile></Case></Cases>

为了能够让MFC认识MSXML2,我们需要引入相应的dll,代码如下;#import "msxml4.dll"

Ⅵ C++发送某个指令后更换读写的xml文件

我们先创建一个xml文件(a.xml),然后解析xml,将解析到的内容输入到另一个xml文件中去(b.xml)相当于拷贝了a.xmla.Xml:<HTML><Header name="a" type="x" size="4" odd="0"><Field name="EMP-0" type="UINT32" ratio="1" link=""/><Field name="EMP-1" type="UINT32" ratio="1" link=""/><Field name="EMP-2" type="UINT32" ratio="1" link=""/></Header> <Body name="b" type="x" size="4" odd="0"><Field name="EMP-0" type="UINT32" ratio="1" link=""/><Field name="EMP-1" type="UINT32" ratio="1" link=""/><Field name="EMP-2" type="UINT32" ratio="1" link=""/><Field name="EMP-3" type="UINT32" ratio="1" link=""/></Body> </HTML> 程序代码:#include"tinystr.h"#include"tinyxml.h"#include<iostream>using namespace std;#define SUCCESS 1#define FAILED 0int loadXml();int main(){if(loadXml()){getchar();return 1;}getchar();return 0;}int loadXml(){//创建两个个xml文档对象,一个为读取,一个为输出TiXmlDocument *inXml = new TiXmlDocument();TiXmlDocument *outXml = new TiXmlDocument();//加载xml文件if(!inXml->LoadFile("a.xml")) //判断XML文件是否加载成功{cerr<<inXml->ErrorDesc()<<endl;return 0;}//定义根节点,记录xml文件的起始节点TiXmlElement *inRoot = inXml->FirstChildElement(); //root指向xml文档的第一个节点inXml->Value();//获取的值为文件名//定义根节点并连接,将输入的根节点传给输出的根节点TiXmlElement *outRoot = new TiXmlElement(inRoot->Value());outXml->LinkEndChild(outRoot);if(NULL == inRoot) //判断文件是否有内容{cerr<<"No root element !!!"<<endl;inXml->Clear();return 0;}//循环遍历每个节点for(TiXmlElement *inElem = inRoot->FirstChildElement(); inElem != NULL; inElem = inElem->NextSiblingElement()){TiXmlElement *outElem = new TiXmlElement(inElem->Value());outRoot->LinkEndChild(outElem);const char *name = inElem->Value();//获取源文件中子节点的名字outElem->SetValue(name); //设置目的文件子节点的名字//获取源文件的属性,设置目标文件的属性const char *rName = inElem->Attribute("name");outElem->SetAttribute("name",rName);const char *rType = inElem->Attribute("type");outElem->SetAttribute("type",rType);const char *rSize = inElem->Attribute("size");outElem->SetAttribute("size",rSize);const char *rOdd = inElem->Attribute("odd");outElem->SetAttribute("odd",rOdd);if(strcmp(name,"0")){for(TiXmlElement *inChild = inElem->FirstChildElement();inChild!=NULL;inChild=inChild->NextSiblingElement()){TiXmlElement *outChild = new TiXmlElement(inChild->Value());outElem->LinkEndChild(outChild);const char *cName = inChild->Attribute("name");outChild->SetAttribute("name",cName);const char *cType = inChild->Attribute("type");outChild->SetAttribute("type",cType);const char *cRatio = inChild->Attribute("ratio");outChild->SetAttribute("ratio",cRatio);const char *cLink = inChild->Attribute("link");outChild->SetAttribute("link",cLink);}}}outXml->SaveFile("b.xml");inXml->Clear();outXml->Clear();return true;}输出结果:输出文件b.xml和a.xml 的内容是一样的。

Ⅶ 如何修改xml文件

LZ是想激活盗版的Office 2007吗?你打开记事本, 文件->打开,找到 C:\ProgramFiles\CommonFiles\MicrosoftShared\OFFICE12\OfficeSetup Controller\Proof.en\Proof.XML 打开修改里面的文本不行吗?我看lz并非是程序修改这个XML

Ⅷ XML文件修改

// 假定TreeView控件的id为treeView XmlDocument dom = new XmlDocument(); dom.Load("aaa.xml");//装载XML文档 //遍历所有节点 int num = 0;foreach(XmlElement birthday in dom.DocumentElement.ChildNodes) { //读取数据 string type = birthday.SelectSingleNode("type").InnerText; string date = birthday.SelectSingleNode("date").InnerText; string title = birthday.SelectSingleNode("title").InnerText; string name = birthday.SelectSingleNode("name").InnerText; string text = name + ":" + title;//节点文字 string image = type;//节点图片 string data = num.ToString();//节点对应数据 num++; //装载示例,将新建的节点添加到TreeView TreeNode node = new TreeNode(text, data, image);//create a new node treeView.Nodes.Add(node); //编辑示例:将当前节点的生日更改为当前日期 birthday.SelectSingleNode("date").InnerText = DateTime.Now.ToString(); //删除示例:将当前节点删除 birthday.ParentNode.RemoveChild(birthday); } dom.Save();

Ⅸ java修改xml文件内容

<?xml version="1.0" encoding="UTF-8"?><users><Messages><sendName>sendUsers</sendName><receiveName>snake</receiveName><date>2007-12-04 12:20:00</date><status>0</status><message>this is Content</message></Messages></users>java:package com.lianxi.DAO;import java.io.File;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.transform.Transformer;import javax.xml.transform.TransformerFactory;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.stream.StreamResult;import org.w3c.dom.Document;import org.w3c.dom.Node;import org.w3c.dom.NodeList;public class UpdateXml { public static boolean doc2XmlFile(Document document,String filename) { boolean flag = true; try { /** 将document中的内容写入文件中 */ TransformerFactory tFactory = TransformerFactory.newInstance(); Transformer transformer = tFactory.newTransformer(); /** 编码 */ //transformer.setOutputProperty(OutputKeys.ENCODING, "GB2312"); DOMSource source = new DOMSource(document); StreamResult result = new StreamResult(new File(filename)); transformer.transform(source, result); }catch(Exception ex) { flag = false; ex.printStackTrace(); } return flag; } public static Document load(String filename) { Document document = null; try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder=factory.newDocumentBuilder(); document=builder.parse(new File(filename)); document.normalize(); } catch (Exception ex){ ex.printStackTrace(); } return document; } /** * 演示修改文件的具体某个节点的值 */ public static void xmlUpdateDemo() { Document document = load("c://Message.xml"); Node root=document.getDocumentElement(); /** 如果root有子元素 */ if(root.hasChildNodes()) { /** ftpnodes */ NodeList ftpnodes = root.getChildNodes(); /** 循环取得ftp所有节点 */ for (int i=0;i<ftpnodes.getLength();i++) { NodeList ftplist = ftpnodes.item(i).getChildNodes(); for (int k=0;k<ftplist.getLength();k++) { Node subnode = ftplist.item(k); /** 删除ftp-chn节点 */ // if (subnode.getNodeType()==Node.ELEMENT_NODE&&subnode.getNodeName()=="ftp-chn") // { // ftpnodes.item(i).removeChild(subnode); // } /** 修改ftp-host的值为 192.168.0.1 */ if (subnode.getNodeType()==Node.ELEMENT_NODE&&subnode.getNodeName()=="status") { subnode.getFirstChild().setNodeValue("1"); } } } } doc2XmlFile(document,"c://Message.xml"); } public static void main(String args[])throws Exception { UpdateXml.xmlUpdateDemo(); }}

Ⅹ 使用java如何修改某个xml文件中的某项内容

代码如下:import org.jdom.*;import org.jdom.output.*;import org.jdom.input.*;import java.io.*;public class xml{public void toXml() throws JDOMException,IOException{SAXBuilder saxBuilder=new SAXBuilder(false);saxBuilder.setExpandEntities(false);File file = new File("c:\\test.xml");Document doc =saxBuilder.build(new File("c:\\test.xml"));Element elem=doc.getRootElement();//System.out.println(elem.toString());elem.getChild("Collectors").getChild("Collector").getAttribute("HostIP").setValue("192.168.0.1");elem.getChild("Collectors").getChild("Collector").getAttribute("PortID").setValue("100000");Element elem1 = (Element)elem.clone();Document Doc=new Document(elem1);XMLOutputter XMLOut = new XMLOutputter();XMLOut.setEncoding("BIG5");XMLOut.setNewlines(true);file.delete();XMLOut.output(Doc,new FileOutputStream("c:\\test"+".xml"));}public static void main(String args[]){xml x = new xml();try{x.toXml();}catch(Exception e){}}}


赞 (0)