C# Linq2Xml删除特定的属性名称及其值

C# Linq2Xml删除特定的属性名称及其值,c#,asp.net,regex,xml,C#,Asp.net,Regex,Xml,我有这个XML,我正在尝试删除这些: 名称=项目 名称=shipmentsShipmentIndex 名字不会改变 将要更改的单词是引号之间的单词,在本例中: 项目和装运装运索引 如何找到所有这些事件并将其删除或替换为零? 我尝试了一系列变体,比如:Name{1}[a-zA-Z]+\b。使用支持XML的工具 例如,在中,您可以使用 open file.xml ; rm //@Name ; save :b ; 。使用支持XML的工具 例如,在中,您可以使用 open file.xml ; rm

我有这个XML,我正在尝试删除这些: 名称=项目 名称=shipmentsShipmentIndex

名字不会改变

将要更改的单词是引号之间的单词,在本例中: 项目和装运装运索引

如何找到所有这些事件并将其删除或替换为零? 我尝试了一系列变体,比如:Name{1}[a-zA-Z]+\b

。使用支持XML的工具

例如,在中,您可以使用

open file.xml ;
rm //@Name ;
save :b ;
。使用支持XML的工具

例如,在中,您可以使用

open file.xml ;
rm //@Name ;
save :b ;
试试这个正则表达式:

Name=\"(.*?)\"
试试这个正则表达式:

Name=\"(.*?)\"

你写的这是ASP.NET。您可以使用Linq2Xml非常快速地执行此操作LinqPad示例:

void Main()
{
    var test = XDocument.Parse("<root><node name=\"name value\">Text</node></root>");
    foreach(var attr in test.Descendants().SelectMany(el=>el.Attributes("name")))
                attr.Remove();

    test.Dump();
}
因此:

<root>
  <node name="name value">Text</node>
</root>
你得到这个:

<root>
  <node>Text</node>
</root>

该代码段将删除XML中除根元素之外的每个元素的所有名称属性。如果要执行其他操作,如清空属性或包含根元素,请告诉我。

您编写的这是ASP.NET。您可以使用Linq2Xml非常快速地执行此操作LinqPad示例:

void Main()
{
    var test = XDocument.Parse("<root><node name=\"name value\">Text</node></root>");
    foreach(var attr in test.Descendants().SelectMany(el=>el.Attributes("name")))
                attr.Remove();

    test.Dump();
}
因此:

<root>
  <node name="name value">Text</node>
</root>
你得到这个:

<root>
  <node>Text</node>
</root>


该代码段将删除XML中除根元素之外的每个元素的所有名称属性。如果您想执行其他操作,如清空属性或包含根元素,请告诉我。

尝试基本替换:\bName=[^]*=>Name=NEW\u Value根据我看到的,这是一个单词boundary@WiktorStribiżew不理解您的解决方案-尝试一个基本的替代方案查看下面的答案,我想这就是你所需要的一切。尝试一个基本的替换:\bName=[^]*=>Name=NEW\u value据我所见,这是一个单词boundary@WiktorStribiżew不理解您的解决方案-尝试一个基本的替代方案查看下面的答案,我想这就是你所需要的一切。@WiktorStribiżew:我只是一个维护者。我不能向这个项目添加库。我如何在asp.net项目中使用它?@EranMeir:你没有说这是一个asp.net项目。但是看看如何使用任何东西,就像我说的。我不能向这个项目添加任何库或类似的库。@WiktorStribiżew:我只是一个维护人员。我不能向这个项目添加库。我如何在asp.net项目中使用它?@EranMeir:你没有说它是asp.net项目。但是看看如何使用任何东西,就像我说的。我无法向该项目添加任何库或类似的库。请将其与或其他显示该示例的工具共享好吗?我没办法把它弄到手work@EranMeir您添加的链接仅适用于Javascript正则表达式。请尝试此链接-。我无法在此url中保存测试。您可以使用共享指向.NET的链接regex@WiktorStribiżew谢谢,我已经测试过了,但无法保存。我找到了0个匹配项。您可以将其与其他显示示例的工具共享吗?我没办法把它弄到手work@EranMeir您添加的链接仅适用于Javascript正则表达式。请尝试此链接-。我无法在此url中保存测试。您可以使用共享指向.NET的链接regex@WiktorStribiżew谢谢,我已测试过,但无法保存。我发现0个匹配项。我选择了你的答案,因为它与我的项目ASP.net更相关Thanks@EranMeir:下次,别忘了给你的问题贴上标签,请。我选择您的答案是因为它与我的项目ASP.net更相关Thanks@EranMeir:下次,请别忘了给你的问题贴上正确的标签。