请各位大神指点一下,以下C#代码读取修改XML文件转换成QT语言,谢谢

alwudipao 2020-01-19 07:28:25
以下是我用C#写的读取XML格式的文件,需要将C节点下的所有oldname 字符串换成newname,然后将文件名中的oldname也换成 newname。还请大神帮忙



XmlDocument doc=new XmlDocument();
XmlReaderSettings settings =new XmlReaderSettings();
settings.IgnoreComments=false;
string oldname;
string newname;
XmlWriterSettings set=new XmlWriterSettings();
set.Indent=true;
XmlReader reader1=XmlReader.Create("wo"+oldname+".xml",settings);

doc.Load(reader1);
XmlNodeList nodeList=doc.SelectNodes("//a//b//c");
for (int i=0;i<nodeList[i].InnerText.Replace(oldname,newname))
reader1.Close();
using (XmlWriter stw1=XmlWriter.Create("wo"+newname+".xml",set))
{
doc.save(stw1);
}
...全文
58 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
alwudipao 2020-01-20
  • 打赏
  • 举报
回复
引用 1 楼 这是一个正经昵称 的回复:
这个 ,,字符串替换就可以了吧
今天在qt下试的replace ,但是我程序好像把第三级C子节点没有找到
  • 打赏
  • 举报
回复
这个 ,,字符串替换就可以了吧
alwudipao 2020-01-20
  • 打赏
  • 举报
回复
引用 1 楼 这是一个正经昵称 的回复:
这个 ,,字符串替换就可以了吧
大神看看,这是我替换c节点下面字符串的代码 if(node.nodeName()==“c”) { QString str; str=reader.readElementText(); if(!str.contains(oldname)) { str=str.replace(oldname,newname); } }
alwudipao 2020-01-20
  • 打赏
  • 举报
回复
我的xml文件类似这样的,好几个c节点,而我需要替换它里面的15。请大神帮我看看,多谢🙏 <a> <b> <c> <你>... <我>... <它>d/files/15</它> </c> <c> <你>... <我>... <它>d/files/15</它> </c>

16,203

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧