私はinfopathドキュメントのxmlをチェックしてドキュメントをチェックするか、ドキュメントを破棄するかどうかを確認するために私が使用するsharepoint上でいくつかのC#コードを実行しています。私はxmlファイルからXmlNamespaceManagerオブジェクトを作成できますか?
コードは、私が作成したいくつかの異なるフォームテンプレートで正常に動作していますが、最新のものでは失敗しています。 私が作成しているXmlNamespaceManagerに、 "MY"ネームスペースの間違った違いが含まれていることを発見しました。
私は私が私のてXmlNamespaceManager私はその後、
XPathNavigator nav = xml.CreateNavigator().SelectSingleNode("//my:HasSaved", NamespaceManager);
後に私は、XMLを検索するために、次のコード行を使用することができます
NameTable nt = new NameTable();
NamespaceManager = new XmlNamespaceManager(nt);
// Add prefix/namespace pairs to the XmlNamespaceManager.
NamespaceManager.AddNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
NamespaceManager.AddNamespace("xhtml", "http://www.w3.org/1999/xhtml");
NamespaceManager.AddNamespace("dfs", "http://schemas.microsoft.com/office/infopath/2003/dataFormSolution");
NamespaceManager.AddNamespace("my", "http://schemas.microsoft.com/office/infopath/2003/myXSD/2010-07-14T13:45:59");
NamespaceManager.AddNamespace("xd", "http://schemas.microsoft.com/office/infopath/2003");`
をdecalreするには、このコードを持っている
を説明しよう
nav.Valueは、私が望むデータになります。
これは私のフォームテンプレートのいくつかでうまくいきます。私は新しいフォームテンプレートを作成し、代わりにこのラインを使用する必要があることを発見しました。
NamespaceManager.AddNamespace("my", "http://schemas.microsoft.com/office/infopath/2003/myXSD/2010-11-30T17:39:37");
日付が異なります。
私の問題は、1組のフォームしか動作しないため、これを2回追加できないということです。
私の質問はそうです。これは、ヘッダーにすべてが含まれているので、XMLファイルからNamespaceManagerオブジェクトを生成する方法はありますか? 私はこれを単純な方法で見つけることができませんでした。
ありがとう自動生成されます。あなたがこれをやろうとしている唯一の人であるように思えます...もちろん私以外の人!それは理にかなっていません - ヘッダーにあるときに期待する名前空間をハードコーディングしなければならないのはなぜですか? – DFTR