0

我目前正在开展一个项目,我将值(“PFOID”和“Quantity”)以某种XML格式发送到存储过程。

所需的 XML 格式是这样的

 <string>
          <PFOID>04676723-2afb-49ff-9fa1-0131cabb407c</PFOID> 
          <Quantity>90</Quantity>
 </string> 

我的代码看起来像这样。

    internal void UpdateQuantity(PFO pfo)
    {

      string pfoIds = "&lt;PFO&gt;" + "&lt;PFOID&gt;" + pfo.PFOId.ToString() + "&lt;/PFOID&gt;" + " " + "&lt;Quantity&gt;" + pfo.PlannedQty.ToString() + "&lt;/Quantity&gt;" + "&lt;/PFO&gt;";

        //pfoIds = pfoIds.Replace("&lt;","<").Replace("&gt;",">");

        // string pfoIds = pfo.PFOId.ToString() + pfo.PlannedQty.ToString();
        //XDocument d = new XDocument(pfoIds,
        //                             new XElement
        //                                  ("PFO",
        //                                       new XElement("PFOID", pfo.PFOId.ToString()),
        //                                       new XElement("Quantity", pfo.PlannedQty.ToString())
        //                                   )
        //                              );

        List<string> pfoIdList = new List<string>();
        pfoIdList.Add(pfoIds);
        XmlSerializer serializer = new XmlSerializer(pfoIdList.GetType());

        StringBuilder xmlString = new StringBuilder();
        XmlWriterSettings settings = new XmlWriterSettings();
        settings.OmitXmlDeclaration = true;
        settings.Encoding = new UTF8Encoding();
        XmlWriter writer = XmlWriter.Create(new StringWriter(xmlString), settings);

        //XDocument xDoc =  XDocument.Load(pfoIds);
        //XmlNode xNode = xmlDoc.SelectSingleNode("PFOID", "Quantity");
        //string onlyvalue = xNode.InnerText;


        //System.Xml.Linq.XDocument xDoc = new XDocument();
        ////System.Xml.Linq.XNode xNode =new System.Xml.Linq.XDocument();

        //XmlDocument xmlDoc = new XmlDocument();
        //xmlDoc.Load(pfoIds);

        //XmlNode xNode = xmlDoc.SelectSingleNode("PFOID", "Quantity");
        //string onlyvalue = xNode.InnerText;


        //serializer.WriteObject(writer, SelectedStoreIds.ToArray());
        serializer.Serialize(writer, pfoIdList);

        if (writer != null)
            writer.Close();

        xmlString.ToString();

        {               
            Context.PFOValidateUpdateData(xmlString.ToString(), WebContext.Current.User.UserID, op =>
                {
                    IsProcessing = false;
                    if (ValidateUpdateCompleted != null)
                        ValidateUpdateCompleted(this, EventArgs.Empty);
                }, null);
        }
    }
}
}

我尝试了使用XmlDocumentXmlNodes但不幸的是 silverlight system.xml 程序集在其库中没有这些扩展。

任何人都可以帮我解决这个问题,我真的很乐意为你服务。非常感谢。

看起来像这样......对不起,我在 & lt; 之间使用了空格。<< PFOID>"04676723-2afb-49ff-9fa1-0131cabb407c</PFOID>" << 数量>"90</数量>"

4

1 回答 1

1

我不知道这是否适合您,但您可以尝试做这样的事情。

// Create a DataSet with one table containing two columns.
DataSet dataSet = new DataSet("dataSet");
DataTable table = dataSet.Tables.Add("string");

table.Columns.Add("PFOID", typeof(string));
table.Columns.Add("Quantity", typeof(value));

DataRow row;

row = table.NewRow();
row["PFOID"]= "04676723-2afb-49ff-9fa1-0131cabb407c";
row["Quantity"]= 90;

table.Rows.Add(row);

// Display the DataSet contents as XML.
Console.WriteLine(dataSet.GetXml());
于 2013-02-13T22:23:10.920 回答