1

我想返回一个 XML 文件作为 asp.net 中 Web 服务方法的输出。谁能帮忙举个例子。

这是我做的网络服务方法。但是当我调用“Hai”方法时,我得到一个错误。我得到的错误如下:

XML Document(1,287) 中存在错误

[WebMethod]
public XElement hai()
{
    try
    {


        XElement xmlTree1 = new XElement("Root",
                            new XElement("Child1", 1),
                            new XElement("Child2", 2),
                            new XElement("Child3", 3),
                            new XElement("Child4", 4),
                            new XElement("Child5", 5),
                            new XElement("Child6", 6)
        );

        return xmlTree1;
    }
    catch
    {
        throw;
    }
}
4

1 回答 1

0

或者,您可以返回XmlDocument

[WebMethod]
public XmlDocument hai()
{
        XmlDocument doc = new XmlDocument();

        XmlNode rootNode = doc.CreateElement("products");
        doc.AppendChild(rootNode);

        XmlNode product1Node = doc.CreateElement("product");
        rootNode.AppendChild(product1Node);

        XmlNode product1NameNode = doc.CreateElement("Name");
        product1NameNode.InnerText = "Product 1";
        product1Node.AppendChild(product1NameNode);
        XmlNode product1ColorNode = doc.CreateElement("Color");
        product1ColorNode.InnerText = "Blue";
        product1Node.AppendChild(product1ColorNode);

        XmlNode product2Node = doc.CreateElement("product");
        rootNode.AppendChild(product2Node);

        XmlNode product2NameNode = doc.CreateElement("Name");
        product2NameNode.InnerText = "Product 2";
        product2Node.AppendChild(product2NameNode);
        XmlNode product2ColorNode = doc.CreateElement("Color");
        product2ColorNode.InnerText = "Yellow";
        product2Node.AppendChild(product2ColorNode);

        return doc;
}

输出:

<?xml version="1.0" encoding="UTF-8"?>
<products>
    <product>
        <Name>Product 1</Name>
        <Color>Blue</Color>
    </product>
    <product>
        <Name>Product 2</Name>
        <Color>Yellow</Color>
    </product>
</products>
于 2015-05-29T19:48:09.510 回答