Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linq到XML正在减少文件大小_C#_Xml_Linq_Linq To Xml - Fatal编程技术网

C# Linq到XML正在减少文件大小

C# Linq到XML正在减少文件大小,c#,xml,linq,linq-to-xml,C#,Xml,Linq,Linq To Xml,我有一个从1030KB开始的XML文件。在我运行代码(向xml文件的一部分添加一个元素)后,该文件的大小减小到580kb。我认为这可能是读取此文件的辅助应用程序无法读取新生成的文件的原因。我不知道为什么会这样。有没有办法阻止linqtoxml压缩文件 XDocument xDoc = XDocument.Load(cust_file); XElement parentXElement = xDoc.XPathSelectElement("LastLayout2/CommandBars"); X

我有一个从1030KB开始的XML文件。在我运行代码(向xml文件的一部分添加一个元素)后,该文件的大小减小到580kb。我认为这可能是读取此文件的辅助应用程序无法读取新生成的文件的原因。我不知道为什么会这样。有没有办法阻止linqtoxml压缩文件

XDocument xDoc = XDocument.Load(cust_file);

XElement parentXElement = xDoc.XPathSelectElement("LastLayout2/CommandBars");
XElement refXElement = xDoc.XPathSelectElement("LastLayout2/CommandBars/CommandBar[@Title = 'Standard']/Controls");

XElement temp = refXElement.XPathSelectElement("Control[@Parameter = 'GLOBAL!QMS_Launcher.Main']");

if (temp == null)
{
XElement newElement = new XElement("Control");
XAttribute classAt = new XAttribute("Class", "CXTPControlButton");
XAttribute idAt = new XAttribute("Id", "0");
XAttribute paramAt = new XAttribute("Parameter", "GLOBAL!QMS_Launcher.Main");
XAttribute custIdAt = new XAttribute("CustomIconId", "68267");

XElement customIcon = new XElement("CustomIcon");
XElement icon = new XElement("Icon");
XAttribute width = new XAttribute("Width", "16");
XAttribute data = new XAttribute("Data", "ABAAAAAAFCAAAAAAEDAAICAAAAAAABAAAAAAABAAAAAABAAAACAADAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPAAAAPPAAAAPPAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPGAAAAAAJNAAAAAAFCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAHFAAAAAACHAAAAAAALAAAAAAPPAAAAAAJPAAAAAAHCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPFAAAAAAJOAAAAAAPPAAAAAAPPAAAAAAPPAAAAAALOABJAAACGDNJIAADNGJCGAAGJGAEAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDAAAAAANPAAAAAAMPAAAAAAJLAAAAAAMHAAAAAAFFAAAAAAODAAAAAAAKMGFEAAEIPPGKAAPPPHDFAAPHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEMAAAAAAPPAAAAAAPGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGAAAAAAPPCBMAAAIFIHOEAAIHJFJDAAJFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOOAAAAAAEPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPHAAAAAAPPGBOAAAKGILHHAAILILHHAAILJJEGAAJJFEMCAAFEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEPAAAAAAEOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJAAAAAAPPGCJBAAAHPPGKAAPPPPGKAAPPPPGKAAPPMPEKAAMPPDJCAAPDAAAAAAAAAAAAAAAAAAAAAAOMAAAAAAPPAAAAAAJBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALLAAAAAAPPBCFBAAKFILHHAAILILHHAAILILHHAAILILHHAAILKGFEAAKGAAAAAAAAAAAAAAAAAAAAAANJAAAAAAPPAAAAAANMAAAAAABCAAAAAANBAAAAAABIAAAAAAPPAAAAAAHOAEKCAAMEIHOEAAIHIHOEAAIHIHOEAAIHIHOEAAIHJGDEAAJGGCJBAAGCAAAAAAAAAAAAAAFBAAAAAADOAAAAAAPPAAAAAAPPAAAAAAPPAAAAAAPPAAAAAALPMAIAAAHGNOKJAANOPPGKAAPPPPGKAAPPPPGKAAPPPPGKAAPPPPGKAAPPOPFKAAOPKFKDAAKFAAAAAAAAAAAAAAKBAAAAAANJAAAAAABPAAAAAABPAAAAAAAMJBPAAALELMEIAALMPPGKAAPPPPGKAAPPPPGKAAPPPPGKAAPPPPGKAAPPPPGKAAPPPPGKAAPPINMIAAINAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");

icon.Add(width, data);

customIcon.Add(icon);
newElement.Add(customIcon);

newElement.Add(classAt, idAt, paramAt, custIdAt);

                    xDoc.Element("LastLayout2").Element("CommandBars").Elements("CommandBar")
                        .FirstOrDefault(item => item.Attribute("Title") != null && item.Attribute("Title").Value == "Standard")
                        .Element("Controls").Add(newElement);

xDoc.Save(cust_file);

这听起来像是一个编码问题。您可能正在将其保存为与原始文档不同的编码,并且与目标应用程序期望的编码不同。因此,文件大小发生了变化

可以按照上面dbc所述更改用于保存的编码:

创建XmlWriterSettings,将XmlWriterSettings.Encoding设置为 然后创建一个XmlWriter并将其传递给XDocument.Save()


这听起来像是一个编码问题。您可能正在将其保存为与原始文档不同的编码,并且与目标应用程序期望的编码不同。因此,文件大小发生了变化

可以按照上面dbc所述更改用于保存的编码:

创建XmlWriterSettings,将XmlWriterSettings.Encoding设置为 然后创建一个XmlWriter并将其传递给XDocument.Save()


这听起来像是一个编码问题。您可能正在将其保存为与原始文档不同的编码,并且与目标应用程序期望的编码不同。因此,文件大小发生了变化

可以按照上面dbc所述更改用于保存的编码:

创建XmlWriterSettings,将XmlWriterSettings.Encoding设置为 然后创建一个XmlWriter并将其传递给XDocument.Save()


这听起来像是一个编码问题。您可能正在将其保存为与原始文档不同的编码,并且与目标应用程序期望的编码不同。因此,文件大小发生了变化

可以按照上面dbc所述更改用于保存的编码:

创建XmlWriterSettings,将XmlWriterSettings.Encoding设置为 然后创建一个XmlWriter并将其传递给XDocument.Save()



可能是您的原始文件有格式(空格),而您新生成的文件没有。我对新生成的文件和原始文件运行了WinDiff。我看到新生成的文件在结束标记的结尾前添加了一个空格。例如,原始文件有“/>”,而我的文件有“/>”。前后行数相同。编码差异?也许是UTF-16到UTF8。这可能会使大小减半。也许……在写入xml时如何更改编码?创建一个
XmlWriterSettings
,根据需要进行设置,然后将其传递给。可能是原始文件有格式(空格),而新生成的文件没有。我对新生成的文件和原始文件运行了WinDiff。我看到新生成的文件在结束标记的结尾前添加了一个空格。例如,原始文件有“/>”,而我的文件有“/>”。前后行数相同。编码差异?也许是UTF-16到UTF8。这可能会使大小减半。也许……在写入xml时如何更改编码?创建一个
XmlWriterSettings
,根据需要进行设置,然后将其传递给。可能是原始文件有格式(空格),而新生成的文件没有。我对新生成的文件和原始文件运行了WinDiff。我看到新生成的文件在结束标记的结尾前添加了一个空格。例如,原始文件有“/>”,而我的文件有“/>”。前后行数相同。编码差异?也许是UTF-16到UTF8。这可能会使大小减半。也许……在写入xml时如何更改编码?创建一个
XmlWriterSettings
,根据需要进行设置,然后将其传递给。可能是原始文件有格式(空格),而新生成的文件没有。我对新生成的文件和原始文件运行了WinDiff。我看到新生成的文件在结束标记的结尾前添加了一个空格。例如,原始文件有“/>”,而我的文件有“/>”。前后行数相同。编码差异?也许是UTF-16到UTF8。这可以将大小减半。也许……在写入xml时如何更改编码?创建一个
XmlWriterSettings
,根据需要进行设置,然后将其传递给。