gpt4 book ai didi

c# - 用控件替换字符串中的 xml 标记

转载 作者:太空宇宙 更新时间:2023-11-03 14:02:16 26 4
gpt4 key购买 nike

我有一个字符串,它看起来像这样:

"Sandra <as type="1">walked</as> in the park, and met a <as type="3">random</a> stranger".

基于这些 xml 标签,我想用其他东西(控件列表)替换标签。

例如,当我看到 <as type="1">walked</as> ,我想返回一个文字和一个文本框,以用该句子替换。

我想最简单的方法是将整个内容添加到占位符中,但我不知道如何进行替换部分。

最佳答案

您目前没有有效的 XML,因此作为第一步,我建议您用一些基本标记包围它,例如:

var start = "Sandra <as type=\"1\">walked</as> in the park, and met a <as type=\"3\">random</as> stranger";
var startAsXml = "<root>" + start + "</root>";

现在我们可以解析它了:

var doc = XElement.Parse(startAsXml);

现在我们在这个 XML 中有两种类型的节点 - 文本和元素。您可以轻松地遍历任意数量的方法并提取它们,更改它们,做您喜欢的事。这是一个例子:

foreach (var node in doc.Nodes()) 
{
if (node.NodeType == XmlNodeType.Text) Console.WriteLine("Text: {0}", node.ToString().Trim());
else if (node.NodeType == XmlNodeType.Element)
{
var element = (XElement)node;
Console.WriteLine("Element: Name={0} Type={1} Value={2}",
element.Name, element.Attribute("type").Value, element.Value);
}
}

这将打印:

Text: Sandra 
Element: Name=as Type=1 Value=walked
Text: in the park, and met a
Element: Name=as Type=3 Value=random
Text: stranger

关于c# - 用控件替换字符串中的 xml 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10408647/

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