Как редактировать XML-файл с необработанной строкой в ​​конце файла? - PullRequest
0 голосов
/ 08 декабря 2011

Я пытаюсь прочитать файл XML (см. Ниже), сохраненный как «CustomerID.dat» в C # 4.0.

Если узел <id> и <salesman> отсутствует, мне нужно добавить их сразу после <name>.

У меня проблема в том, что последняя строка содержит URL (это может быть любая необработанная строка). Поэтому, когда я пытаюсь загрузить файл как XML, я получаю сообщение об ошибке "Data at the root level is invalid. Line xx, position 1."

Любые предложения о том, как обойти это?

Полагаю, одним из способов было бы забыть об использовании XML и просто рассматривать его как простой текстовый файл. Я хотел бы избежать такого подхода, если это возможно.

Спасибо

Файл XML:

<customer>
  <name>Sparkles Inc</name>
  <id>625458</id>
  <salesman>John Doe</salesman>
  .
  .
  .
  .
</customer>
http://www.customercompany.com/

Мой код:

string nodeName = "id";
string xmlPath = "C:\\temp\\CustomerID.dat"; // this is the xml file shown above
XmlDocument doc = new XmlDocument();
doc.Load(xmlPath);
XmlNodeList nodeList = doc.SelectNodes("//customer");
foreach (XmlNode node in nodeList)
{
    try
    {
        if (node[nodeName] == null)
           return true;
    }
    catch (Exception ex)
    {
          return false;
    }
}
...