声明了一个公共静态数组,并在按钮单击中创建了此数组变量的实例。我有一个for循环,它遍历一个XMLNodeList变量,并将每个申请者标记的XML存储在数组中。第一次运行时,它从XMLNodeList中挑选出某些字段,并在前端显示OK -当我调试第二次运行该方法时,它会尝试访问数组字符串,而当我调试时,数组中的所有值都为空。有一些我使用stackoverflow的例子,但还没有找到一些有用的东西来帮助我解决上面的问题。
XML示例:
<applicant app-type=\"applicant\" designation=\"all\" sequence=\"1\" >
<name>Test</name>
<address>
<address-1>123</address-1>
<address-2>Quality St</address-2>
<country>JP</country>
</address>
</addressbook>
<nationality>
<country />
</nationality>
<residence>
<country />
</residence>
</applicant>
<applicant app-type=\"applicant\" designation=\"all\" sequence=\"2\" >
<name>Test</name>
<address>
<address-1>456</address-1>
<address-2>Butter Road</address-2>
<country>AM</country>
</address>
</addressbook>
<nationality>
<country />
</nationality>
<residence>
<country />
</residence>
</applicant>
public static string[] eachXML;
private static int sequenceCounter;
public static int totalNumberSequences;
protected void QueryEPO_Click(object sender, EventArgs e)
{
XMLDocument xmlDoc2 = new XmlDocument();
xmlDoc2.LoadXml(applicantXML);
XmlNodeList elemList2 = xmlDoc2.GetElementsByTagName("applicant");
for (int i = sequenceCounter - 1; i < totalNumberSequences; i++)
{
eachXML[i] = elemList2.Item(i).OuterXml;
}
populateFields(sequenceCounter - 1);}
private void populateFields(int sequenceCounter)
{
if (sequenceCounter < totalNumberSequences)
{
XmlDocument xmlDoc3 = new XmlDocument();
xmlDoc3.LoadXml(eachXML[sequenceCounter]);
if (xmlDoc3.GetElementsByTagName("name")[0] == null)
{
string name = "";
nametextbox.Value = name;
}
else
{
string name = xmlDoc3.GetElementsByTagName("name")[0].InnerText;
nametextbox.Value = name;
}
}}
第一个方法运行图像:

第二个方法run image:

发布于 2018-05-23 18:35:46
public class Xmlitem
{
public static string[] eachXML { get; set; }
}我添加了这个类并将我的实例更改为:
Xmlitem.eachXML = new string[totalNumberSequences] https://stackoverflow.com/questions/50485949
复制相似问题