Как добавить XmlNode в список XmlNode, если у меня есть XmlNodeList и я хочу создать из них два XmlNodeList.? - PullRequest
0 голосов
/ 01 ноября 2019

У меня есть один XmlNodeList, я хочу создать два XmlNodeList из этого. Я буду проверять наличие каких-либо тегов внутри каждого элемента в Списке, на основании наличия этого тега я буду добавлять их в один из определенных мной списков.

Я пытался добавить список, но у меня не было никакого способа добавить конкретный элемент в новый XmlNodeList, который является нулевым в начале. Пожалуйста, помогите. Что мне здесь не хватает.

Я пробовал List<XmlNode>, выдает ошибку System.ArgumentNullException: 'Значение не может быть нулевым. Имя параметра: источник '

class Program
    {
        static void Main(string[] args)
        {
            //Import XMl 
            // XmlNode list as name NEW

            foreach(XmlNode emp in NEW)
            {
                if (emp != null)
                {
                    AddNewList(emp);
                }

            }
        } 

        public static void AddNewList(XmlNode emp)
        {
            //Checking for some tag 
            if(tag!=null)
            {
                // It is throwing error 
                currentList.Append(emp);
            }
        }

        public XmlNodeList currentList = null;
        public XmlNodeList previousList = null;
    }
}

1 Ответ

0 голосов
/ 01 ноября 2019

Единственный способ иметь элементы в XmlNodeList - запустить запрос выбора на XmlNode. Нет другого способа построить XmlNodeList.

Таким образом, единственная возможность «разделить» XmlNodeList на два XmlNodeList - запустить отдельные запросы XPath с противоположными условиями, которые выберут узлы в отдельные списки.

Обратите внимание, что XmlNodeList - это не List<XmlNode> несмотря на очень похожее название - добавление к List<XmlNode> действительно возможно.

...