Прокомментируйте конкретный входной код XML-файла , используя WPF .
this is my xml file : <?xml version="1.0" encoding="utf-8"?> <Sequence> <Inputs> <Input>readOF</Input> <Input>readReference</Input> </Inputs> </Steps> </Sequence>
Я хочу прокомментировать эту строку xmlfile
<Input>readOF</Input>использование wpf/c# программно
Мой код работает только тогда, когда у меня есть только один вход :
System.Xml.XmlNode elementToComment = xmlDocument.SelectSingleNode("/Sequence/Inputs/Input");
но когда у меня есть более одного входа ничего не работает ,
Я попытался определить свое значение элемента readOF но не смог найти правильный формат кода :
System.Xml.XmlNode elementToComment = xmlDocument.SelectSingleNode("/Sequence/Inputs/Input/readOF");
Желаемый результат:
<!--<Input>readOF</Input>-->
Что я уже пробовал:
Мой WPF-код :
// Find the proper path to the XML file String xmlFilePath = "path\\xmfile.xml"; // Create an XmlDocument System.Xml.XmlDocument xmlDocument = new System.Xml.XmlDocument(); // Load the XML file in to the document xmlDocument.Load(xmlFilePath); // Get the target node using XPath System.Xml.XmlNode elementToComment = xmlDocument.SelectSingleNode("/Sequence/Inputs/Input"); // Get the XML content of the target node String commentContents = elementToComment.OuterXml; // Create a new comment node // Its contents are the XML content of target node System.Xml.XmlComment commentNode = xmlDocument.CreateComment(commentContents); // Get a reference to the parent of the target node System.Xml.XmlNode parentNode = elementToComment.ParentNode; // Replace the target node with the comment parentNode.ReplaceChild(commentNode, elementToComment); xmlDocument.Save(xmlFilePath); MessageBox.Show("ok");
Как я могу определить входное значение моего элемента в моем коде?
Я хотел бы , чтобы это было ясно для вас, ожидая любой помощи .
Richard MacCutchan
В чем же вопрос?
EM_Y
Я хочу, чтобы закомментировать и раскомментировать код конкретного XML-файла или строки из WPF-приложения, используя кнопку действия
Richard MacCutchan
Да, вы уже сказали это в своем первоначальном посте. Итак, в чем же ваша настоящая проблема?
EM_Y
здесь я нашел какое-то решение , я обновил свою проблему , пожалуйста , проверьте ее, я буду признателен за любую помощь .
Eric Lynch
Во-первых, XML-файл в вашем вопросе недопустим. У него есть закрывающий тег для элемента Steps, но нет открывающего тега.
Далее, мне не совсем ясно, с какой проблемой вы столкнулись. Возможно, после исправления XML-файла в вашем вопросе вы могли бы (как минимум) добавить ожидаемый результат. И, если вы столкнулись с проблемой, ваш фактический результат. Это позволит более четко проиллюстрировать разницу между этими двумя понятиями (ожидаемым и фактическим).
Наконец, вы можете рассмотреть возможность использования LINQ to XML вместо этого. Лично я нахожу этот интерфейс немного более дружелюбным в использовании. Вот ссылка:
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/linq-to-xml-programming-overview
EM_Y
Я хочу прокомментировать эту строку readOF с помощью wpf/c# программно
Мой код работает только тогда, когда у меня есть только один вход, но когда у меня есть более одного, ничего не работает ,
Я попытался определить свое значение элемента readOF, но не смог найти правильный формат кода .
Я хотел бы , чтобы это было ясно для вас, Спасибо за ваше внимание .
Richard MacCutchan
Я не являюсь экспертом в XML, но, глядя на ваш код, я бы предположил, что вам нужно написать какой-то цикл. Вам нужно пройти через все узлы под названием Inputs
и все их подузлы под названием Input
проверка значения, которое вы хотите закомментировать.