gpt4 book ai didi

.net - 从 XmlReader 获取当前位置

转载 作者:行者123 更新时间:2023-12-03 11:53:35 26 4
gpt4 key购买 nike

有没有办法获取 XmlReader 检查的节点流中的当前位置?

我想使用 XmlReader 来解析文档并保存某些元素的位置,以便以后可以查找它们。

附录:

我正在获取由 WPF 控件生成的 Xaml。 Xaml 不应经常更改。 Xaml 中有我需要替换项​​目的占位符,有时是循环的。我认为用代码而不是转换可能更容易(我可能错了)。我的想法是将其解析为需要替换的内容和位置的简单数据结构,然后使用 StringBuilder 通过从 xaml 字符串中复制 block 来生成最终输出。

最佳答案

正如 Jon Skeet 所说,XmlTextReader实现 IXmlLineInfo但是 XmlTextReader.NET 2.0 起已弃用问题是关于 XmlReader只要。
我找到了这个解决方案:

XmlReader xr = XmlReader.Create( // MSDN recommends to use Create() instead of ctor()
new StringReader("<some><xml><string><data>"),
someSettings // furthermore, can't set XmlSettings on XmlTextReader
);
IXmlLineInfo xli = (IXmlLineInfo)xr;

while (xr.Read())
{
// ... some read actions ...

// current position in StringReader can be accessed through
int line = xli.LineNumber;
int pos = xli.LinePosition;
}

附言已针对 .NET Compact Framework 3.5 进行了测试,但也应该适用于其他人。

关于.net - 从 XmlReader 获取当前位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2160533/

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