如何在XML元素中保存多个值?

时间:2019-01-29 21:10:53

标签: c#

xWaarde.Value被新值覆盖并刷新旧值。

如何在Xelement中存储多个值。

private XElement[] AddCoordinatenList(XElement childElements)
{
        XmlNode xmlCoordinatenNode = Utility.GetMappingValues(Constants.BMCoordinaten, ConnectionType.BM);
        XmlNode xWaardeNode = Utility.GetMappingValues(Constants.BMXwaarde, ConnectionType.BM);
        XmlNode yWaardeNode = Utility.GetMappingValues(Constants.BMYwaarde, ConnectionType.BM);
        XmlNode CoordinateX = Utility.GetMappingValues(Constants.XCoordinate, ConnectionType.BM);
        XmlNode CoordinateY = Utility.GetMappingValues(Constants.YCoordinate, ConnectionType.BM);
        var coordinatenList = from document in childElements.DescendantsAndSelf() where document.Name.LocalName == xmlCoordinatenNode.Name select document;
        List<XElement> xcoordinatenList = new List<XElement>();

        XElement xWaarde = new XElement(CoordinateX.Name);
        XElement yWaarde = new XElement(CoordinateY.Name);

        if (coordinatenList.Count() > 0)
        {
            foreach (XElement element in coordinatenList.Descendants())

            {
                if (element.Name.LocalName == xWaardeNode.Name)
                {
                    xWaarde.Value = element.Value;


                }
                if (element.Name.LocalName == yWaardeNode.Name)
                {
                    yWaarde.Value = element.Value;

                }
            }
        }

        return xcoordinatenList.ToArray();
  }

1 个答案:

答案 0 :(得分:0)

不可能。使用属性:

XAttribute attribute = new XAttribute("name1", <value>);
element.Add(attribute);

attribute = new XAttribute("name2", <value>);
element.Add(attribute);

您还可以添加子元素的列表或添加的所有字符串作为一个字符串,通过例如逗号分隔。