我发现这个link有助于从infopath中获取数据。不幸的是,在我每次用户在字段上进行更改后尝试设置值时,它似乎是无限循环并导致错误。
这是我的代码:
XPathNavigator xNavigation = this.MainDataSource.CreateNavigator();
XPathNodeIterator xNodeIterator = xNavigation.Select(“/my:myFields/my:group1/my:group2”, this.NamespaceManager);
while (xNodeIterator.MoveNext()){
string mystring = xNodeIterator.Current.SelectSingleNode(“my:County”, this.NamespaceManager).Value;
xNodeIterator.Current.SelectSingleNode(“my:County”, this.NamespaceManager).SetValue("mystring"+ mystring);
}
这里有什么问题?请帮帮我。
答案 0 :(得分:0)
正如我在评论中提到的,你可以使用XPathNavigator
来浏览列表而不使用While循环:
EDITED,基于评论的更多信息:
foreach (XPathNavigator nav in xNavigation.Select(“/my:myFields/my:group1/my:group2”, this.NamespaceManager))
{
string mystring = myTextBox.Text + ", " + "GUID"; //replace "GUID" with the actual GUID which you need
nav.SelectSingleNode("my:field3", this.NamespaceManager).SetValue("mystring"+ mystring);
}
基本上,您应该不获取元素/节点的值,然后在向其添加内容后设置相同的元素/节点的值。这将导致指数字符串扩展。