1

次の xml ドキュメントがあります。

<?xml version="1.0" encoding="utf-8"?>
<Categories>
  <title>
    <Type name="James">
      <Field name="ref" value="79" />
      <Field name="titleref" value="55" />
    </Type>
  </title>
</Categories>

textBox1 テキストが一致する場合、「タイトル」をすべて削除したい

私は次のものを持っています。うまくいかないことはわかっていますが、私のロジックが見えるかどうかを確認したかったのです。

 xmldoc.Root.Elements().Where(x => x.Element("Type")).Where (x => x.Attribute("name").Value.Equals(textBox1.Text)).Select(x => x).Single().Remove();

どんな助けでも素晴らしいでしょう

ありがとう

4

2 に答える 2

2

XPath(System.Xml.XPath)を使用できます

xmldoc.XPathSelectElements(String.Format("//Type[@name='{0}']", textBox1.Text))
      .Remove();
于 2012-12-15T22:40:16.587 に答える
0
xmldoc.Root.Descendants( "Type" )
  .Where( x => x.Attribute( "name" ).Value == textBox1.Text )
  .Remove();
于 2012-12-15T22:41:13.197 に答える