Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C中更改XML节点名_C#_Sql Server_Xml - Fatal编程技术网

C# 如何在C中更改XML节点名

C# 如何在C中更改XML节点名,c#,sql-server,xml,C#,Sql Server,Xml,我想更改C中的XML节点名称, 我的密码是 string filepath = @"C:\JobDocuments\jobsxml.xml"; XDocument doc = XDocument.Load(filepath); doc.Nodes.Name = "jobs"; doc.Save(filepath); 我的XML文件是 <jobs> -<Table> <title><![CDATA[ Country ]]

我想更改C中的XML节点名称, 我的密码是

string filepath = @"C:\JobDocuments\jobsxml.xml";
     XDocument doc = XDocument.Load(filepath);
     doc.Nodes.Name = "jobs";
     doc.Save(filepath);
我的XML文件是

<jobs>
-<Table>
  <title><![CDATA[ Country ]]></title> 
  <category><![CDATA[ Site Engineering / Project Management ]]></category> 
  <description><![CDATA[ sades ]]></description> 
  </Table>
</jobs>
我希望输出如下:

 <jobs>
      <job>
      <title><![CDATA[ Country ]]></title> 
      <category><![CDATA[ Site Engineering / Project Management ]]></category> 
      <description><![CDATA[ sades ]]></description> 
      </job>
 </jobs>
我想在这里显示,而不是-。我在查询中更改了,但没有给出正确的顺序

  SELECT '<![CDATA[ ' + JobTitle + ' ]]>' as title,
               '<![CDATA[ ' + JobCategory + ' ]]>' as category,
               '<![CDATA[ ' + JobDescription + ' ]]>' as [description]
        from Jobs FOR XML PATH('job')
请帮帮我。 谢谢

你能试试这个吗

String sampleXml = "<jobs><Table><title><![CDATA[ Country ]]></title> <category><![CDATA[ Site Engineering / Project Management ]]></category> <description><![CDATA[ sades ]]></description> </Table></jobs>";

            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.LoadXml(sampleXml);

            XmlNode rootE = xmlDoc.GetElementsByTagName("jobs")[0];
            XmlNode oldE = rootE.SelectSingleNode("Table");
            XmlNode newE = xmlDoc.CreateElement("job");
            rootE.ReplaceChild(newE, oldE);
            while (oldE.ChildNodes.Count != 0)
            {
                newE.AppendChild(oldE.ChildNodes[0]);
            }
            while (oldE.Attributes.Count != 0)
            {
                newE.Attributes.Append(oldE.Attributes[0]);
            }

基本上你想换工作表吗?更改jobsxml.xml的问题在哪里?这是因为它是从另一个源创建的?我在上一个问题中向您介绍了如何执行此操作,看起来您没有执行此操作…注意:好的解决方案是更改xml本身,而不是使用逻辑执行此操作…谢谢@mpacheco,我正在获取根级别的“错误”数据无效。第1行,位置1.“我在文件中看到靠近的连字符?您能不能不更改XML?