gpt4 book ai didi

c# - XMLWriterTraceListener 生成文本墙而不是格式化的 XML

转载 作者:数据小太阳 更新时间:2023-10-29 02:30:21 28 4
gpt4 key购买 nike

我有一个 XMLWriterTraceListener像这样将对象添加到我的跟踪监听器中,

System.Diagnostics.XmlWriterTraceListener xmlTrace = new 
System.Diagnostics.XmlWriterTraceListener("Trace.xml");
xmlTrace.IndentLevel = 1;
xmlTrace.IndentSize = 4;

System.Diagnostics.Trace.Listeners.Add(xmlTrace);

并且它成功地从 Trace.WriteLine()、Trace.TraceInformation() 等接收消息。唯一的问题是它正在写入的 Trace.xml 文件是人类不可读的,因为它不包含换行符或缩进。我是否错过了一个可以改善输出的中间步骤(XMLStreamWriter?)?

当前输出为:

<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"><System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"><EventID>0</EventID><Type>3</Type><SubType Name="Information">0</SubType><Level>8</Level><TimeCreated SystemTime="2014-03-20T18:05:43.2778822Z" /><Source Name="Program.vshost.exe" /><Correlation ActivityID="{00000000-0000-0000-0000-000000000000}" /><Execution ProcessName="Program.vshost" ProcessID="6840" ThreadID="9" /><Channel/><Computer>ODYSSEY</Computer></System><ApplicationData>Startup!</ApplicationData></E2ETraceEvent>

但我希望它是这样的:

<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent">
<System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system">
<EventID>0</EventID>
<Type>3</Type>
<SubType Name="Information">0</SubType>
<Level>8</Level>
<TimeCreated SystemTime="2014-03-20T18:05:43.2778822Z" />
<Source Name="Program.vshost.exe" />
<Correlation ActivityID="{00000000-0000-0000-0000-000000000000}" />
<Execution ProcessName="Program.vshost" ProcessID="6840" ThreadID="9" />
<Channel/>
<Computer>ODYSSEY</Computer>
</System>
<ApplicationData>Startup!</ApplicationData>
</E2ETraceEvent>

最佳答案

看起来没有任何方法可以做到这一点,甚至没有反射(reflection): http://dotnetinside.com/en/framework/v4.0.30319/System/XmlWriterTraceListener

如果您可以在单声道版本中获取 xml 编写器设置,您也许可以: http://dotnetinside.com/en/framework/Mono+Framework/System/XmlWriterTraceListener

您可以使用服务跟踪查看器打开 XML 跟踪: http://msdn.microsoft.com/en-us/library/ms732023%28v=vs.110%29.aspx

否则,复制并粘贴到您喜欢的 IDE 或 XML 编辑器。

关于c# - XMLWriterTraceListener 生成文本墙而不是格式化的 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22542517/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com