1

InfoPath フォーム内で XmlNode を取得しようとしていますが、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 のコピー] を選択して取得しました。

4

1 に答える 1

1

代わりにこれを試してください: manager.AddNamespace("my", " http://schemas.microsoft.com/office/infopath/2003/myXSD/2008-09-22T20:08::03 ");

(microsooft.comm を microsoft.com に変更) :)

于 2009-07-17T13:47:55.153 に答える