Я создаю XML-документ из StringBuilder, в основном что-то вроде:
string.Format("<text><row>{0}</row><col>{1}</col><textHeight>{2}</textHeight><textWidth>{3}</textWidth><data>{4}</data><rotation>{5}</rotation></text>
Позже, что-то вроде:
XmlDocument document = new XmlDocument();
document.LoadXml(xml);
XmlNodeList labelSetNodes = document.GetElementsByTagName("labels");
for (int index = 0; index < labelSetNodes.Count; index++)
{
//do something
}
Все данные поступают из базы данных. Недавно у меня было несколько проблем с ошибкой:
Шестнадцатеричное значение 0x00 является недопустимым символом, строка 1, позиция nnnnn
Но его непротиворечивость. Иногда некоторые "пустые" данные будут работать. "Ошибочные" данные работают на некоторых ПК, но не на других.
В базе данных данные всегда являются пустой строкой. Это никогда не "null"
и в XML файле он отображается как < data>< /data>
, то есть символ между открытием и закрытием. (но не уверен, что на это можно положиться, поскольку я вытаскиваю его из окна "немедленного", это vis studio и вставка его в текстовую панель).
Возможно, существуют различия в версиях sql-сервера (в 2008 году это будет неудачно, 2005 год будет работать) и сортировки. Не уверены, что это может быть причиной?
Но точно так же код и данные будут иногда терпеть неудачу. Любые идеи, в которых проблема?