.net XML XPath数据合并

.net XML XPath数据合并,.net,xml,regex,xpath,.net,Xml,Regex,Xpath,更新 最初,控制台应用程序采用三个参数: 1.源XML文件路径和名称 2.源模板文件路径和名称 3.输出文件路径和名称 应用程序将需要执行以下操作: 1.打开源XML文件,将其内容导入XML DOM对象,然后关闭源XML文件 2.打开源模板文件,将其内容读入字符串,然后关闭源模板文件 3.打开输出文件进行输出。 4.对于模板字符串中的每一行: 清除输出缓冲区字符串的内容 直到字符串结束 扫描打开的标记序列{:将非标记字符追加到输出缓冲区字符串时 如果找到,则捕获所有字符,直到在字符串元素xpat

更新

最初,控制台应用程序采用三个参数: 1.源XML文件路径和名称 2.源模板文件路径和名称 3.输出文件路径和名称

应用程序将需要执行以下操作: 1.打开源XML文件,将其内容导入XML DOM对象,然后关闭源XML文件 2.打开源模板文件,将其内容读入字符串,然后关闭源模板文件 3.打开输出文件进行输出。 4.对于模板字符串中的每一行:

清除输出缓冲区字符串的内容 直到字符串结束

扫描打开的标记序列{:将非标记字符追加到输出缓冲区字符串时

如果找到,则捕获所有字符,直到在字符串元素xpath中遇到结束标记序列:}

验证元素xpath以确保它只包含xpath中有效的字符

如果发现无效字符,则引发错误

选择与元素xpath对应的节点 如果节点不存在,则引发错误

获取所选节点的值并将其附加到输出缓冲区字符串

将输出缓冲区写入输出文件

关闭输出文件

下面是需要插入的XML参数值

    <?xml version="1.0" encoding="UTF-8"?>
<configuration>
<Server>
  <add key="Interval" value="1000"/> 
  <add key="TimeoutLength" value="1000" /> 
  <add key="ConnectionString" value="NBC=ABC_SQL;uid=TCPSqlUser;pwd=" /> 
</Server>
</configuration>
下面是XML模板XPath,其中要插入值

<add key="Interval" value="{==configuration/Server/Interval==}" /> 
<add key="TimeoutLength" value="{==configration/Server/TimeoutLength==}" /> 
<add key="ConnectionString" value="{==configuration/Server/ConnectionString==}" />

不要认为这会在这种情况下起作用-你期望得到什么结果,你得到了什么结果?例如,预期匹配但没有匹配?如果您显示一些输入XML,它也会有所帮助。您根本不清楚什么是源XML文件,以及您想要生成的结果是什么。请编辑您的问题并提供这些。