簡體   English   中英

LINQ To Xml如何在不格式化的情況下生成xml

[英]LINQ To Xml how to generate xml without formatting

有沒有辦法使用linq to xml生成xml,而沒有任何格式(空格,換行符等),也沒有保存到文件中,而只是在內存中?

我正在將此xml發送到某些api,這是要求。 現在我正在使用string.Replace();

var doc = new XDocument(
            new XDeclaration("1.0", "UTF-8", null),
            new XElement("request",
                new XAttribute("version", "1.0"),
                new XElement("m",
                    new XElement("id", credentials.id),
                    new XElement("signature"), ""),
                new XElement("data",
                    new XElement("p",
                        new XAttribute("id", ""),
                        new XElement("porp",
                            new XAttribute("name", "c"),
                            new XAttribute("value", c)),
                        new XElement("porp",
                            new XAttribute("name", "a"),
                            new XAttribute("value", a))))));


        var data = doc.Element("request").Element("data").Elements();
        string result = string.Concat(data).Trim().Replace("\r\n", "").Replace("  ", "");
        var signature = Utils.ComputeSignature(result, credentials.Password);
        doc.Element("request").Element("m").Element("signature").Value = signature;
        return doc.ToString().Trim().Replace("\r\n", "").Replace("  ", "");

謝謝你的幫助!

有幾種方法可以實現此目的,但最簡單的方法是對XNode.ToString使用重載,您可以在其中指定SaveOptions

doc.ToString(SaveOptions.DisableFormatting);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM