Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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# 重新创建XML但将变量传递到数据中_C#_Xml - Fatal编程技术网

C# 重新创建XML但将变量传递到数据中

C# 重新创建XML但将变量传递到数据中,c#,xml,C#,Xml,我正在尝试使用以下格式创建一个XML,但一直存在问题。我对c#和XML都是新手,在这一点上遇到了麻烦。我的参考XML是 <workspace name="Remote Apps" xmlns="http://schemas.microsoft.com/ts/2008/09/tswcx" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <defaultFeed url=&qu

我正在尝试使用以下格式创建一个XML,但一直存在问题。我对c#和XML都是新手,在这一点上遇到了麻烦。我的参考XML是

<workspace name="Remote Apps" xmlns="http://schemas.microsoft.com/ts/2008/09/tswcx" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <defaultFeed url="CHANGEME" />
</workspace>

如果有人愿意帮助我从零开始写代码或者从本地文件修改代码,我将不胜感激。(最好从头开始创建)

您的代码有三个问题:

  • doc.Elements(“defaultFeed”)
    搜索名为defaultFeed的元素作为文档的子元素。但是,您的元素是根节点
    工作区的子元素
  • 解决方案:改为

    doc.Root.Elements("defaultFeed")
    
    XNamespace tswcx = "http://schemas.microsoft.com/ts/2008/09/tswcx";
    doc.Root.Elements(tswcx + "defaultFeed")
    
  • 此属性
    xmlns=”http://schemas.microsoft.com/ts/2008/09/tswcx“
    表示未明确指定名称空间的所有元素都位于名称空间
    http://schemas.microsoft.com/ts/2008/09/tswcx
    <代码>元素(“defaultFeed”)但是搜索没有任何名称空间的元素
  • 解决方案:改为

    doc.Root.Elements("defaultFeed")
    
    XNamespace tswcx = "http://schemas.microsoft.com/ts/2008/09/tswcx";
    doc.Root.Elements(tswcx + "defaultFeed")
    
  • 第三个是一个简单的打字错误:你应该比较“CHANGEME”,而不是“CHANGEME”

  • 谢谢你回到我身边!我认为我遇到的问题不是提到名称空间。我已经适应了这样你的问题就解决了?你可以考虑接受这个答案。