首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在前一个方法中创建的方法中的C#访问数组

在前一个方法中创建的方法中的C#访问数组
EN

Stack Overflow用户
提问于 2018-05-23 18:26:33
回答 1查看 65关注 0票数 0

声明了一个公共静态数组,并在按钮单击中创建了此数组变量的实例。我有一个for循环,它遍历一个XMLNodeList变量,并将每个申请者标记的XML存储在数组中。第一次运行时,它从XMLNodeList中挑选出某些字段,并在前端显示OK -当我调试第二次运行该方法时,它会尝试访问数组字符串,而当我调试时,数组中的所有值都为空。有一些我使用stackoverflow的例子,但还没有找到一些有用的东西来帮助我解决上面的问题。

XML示例:

代码语言:javascript
复制
<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);

}

代码语言:javascript
复制
 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:

EN

回答 1

Stack Overflow用户

发布于 2018-05-23 18:35:46

代码语言:javascript
复制
public class Xmlitem
{
    public static string[] eachXML { get; set; }
}

我添加了这个类并将我的实例更改为:

代码语言:javascript
复制
Xmlitem.eachXML = new string[totalNumberSequences] 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50485949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档