Выбор узла в форме InfoPath - PullRequest
1 голос
/ 17 июля 2009

Я пытаюсь получить XmlNode в форме InfoPath и не могу получить ничего, кроме null ... Я следую примеру на http://suguk.org/forums/thread/17780.aspx и сталкиваюсь с этой проблемой ..

MemoryStream inStream = new MemoryStream(file.OpenBinary());
XmlDocument myDoc = new XmlDocument();
myDoc.PreserveWhitespace = true;
myDoc.Load(inStream);

XmlElement root = myDoc.DocumentElement;
XPathNavigator navigator = form.CreateNavigator();

XmlNamespaceManager manager = new XmlNamespaceManager(navigator.NameTable);
manager.AddNamespace("my", "http://schemas.microsooft.comm/office/infopath/2003/myXSD/2008-09-22T20:08::03");
XmlNode fieldToAlter = root.SelectSingleNode("/my:myFields/my:field2", manager);

Последняя строка устанавливает fieldToAlter в null ... Есть идеи? Используемый мной XPath я получил, щелкнув правой кнопкой мыши по полю в InfoPath и выбрав «Копировать XPath».

1 Ответ

1 голос
/ 17 июля 2009

Попробуйте вместо этого: manager.AddNamespace ("мой", "http://schemas.microsoft.com/office/infopath/2003/myXSD/2008-09-22T20:08::03");

(изменен microsooft.comm на microsoft.com):)

...