0

私は現在、値 (「PFOID」と「数量」) をストアド プロシージャに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);
        }
    }
}
}

私は使用XmlDocumentしてみXmlNodesましたが、残念ながらsilverlight system.xmlアセンブリのライブラリにはこれらの拡張機能がありません。

誰でもこれで私を助けてくれませんか? どうもありがとうございました。

このように見えます...申し訳ありませんが、 & lt; の間に空白を使用しました。& lt; PFOID>" 04676723-2afb-49ff-9fa1-0131cabb407c & lt;/ PFOID & gt;" & lt; 数量>「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 に答える