Так что я ищу способ редактировать описания отдельных элементов в файле XML.Использование XElement для редактирования имен атрибутов
Например, у меня есть:
1 <stack id ="1">Stack1</stack>
2 <book id="EG-FE">This Book</book>
3 <book id="EG-FF">That Book</book>
4 <book id="FE-GT">Another Book</book>
5 <book id="JL-01">Invalid Book Id</book>
6 <stack id="2">Stack2</stack>
Вы заметите книгу на линии 5 имеет нечетное формат ... вторая часть идентификатора (после «-») имеет номера, где это у остальных есть буквы. Как будет идти об удалении только «-01» часть идентификатора книги 5 (т.е. изменить его на:
5 <book id="JL">Valid Book Id</book>
без изменения Eny других элементов (стек IE)
Вот что я пытаюсь:
using System.Xml.Linq
XElement books = XElement.Load("{file}");
string _Attribute;
foreach (var bookID in books.Nodes())
{
if(bookID.Attribute("book"))
{
_Attribute = bookID.Attribute("book")
if(!Regex.IsMatch(_Attribute., @"^[a-zA-Z-]+$");
{
Regex.Replace(_Attribute, @"\d", "");
}
bookID.Attribute("book") = _Attribute;
}
}
Очевидно, что это ужасно неправильно ... Любые идеи о том, как это исправить
Спасибо
?! 210Я не нашел большой помощи в решении этой проблемы, и кусочки, которые я пытаюсь собрать, на самом деле не помогают.
Так что у меня много проблем, когда выясняется, как получить только имя элемента ... вся помощь, которую я могу найти, - это получить содержимое элемента. Как я могу просто получить? –
gfppaste
@gfppaste: 'bookID' в моем примере - это' XElement', который содержит ' Title '. –
Guvante
Ой, хорошо, я понял. Ха-ха, спасибо, мне нужен был умственный толчок! – gfppaste