C# 仅通过c中的正则表达式获取除文本以外的标记#
您能告诉我如何通过c#中的正则表达式仅获取标记吗 比如说,C# 仅通过c中的正则表达式获取除文本以外的标记#,c#,regex,C#,Regex,您能告诉我如何通过c#中的正则表达式仅获取标记吗 比如说, Input: <name>Wen-Hsiang <surname value ="AUTH_16896">Kung</surname> </name> My output will look like: <name><surname value ="AUTH_16896"></surname> <
Input:
<name>Wen-Hsiang <surname value
="AUTH_16896">Kung</surname>
</name>
My output will look like:
<name><surname value
="AUTH_16896"></surname>
</name>
输入:
孔文祥
我的输出将如下所示:
在这种情况下,最好使用XML解析
XmlDocument doc = new XmlDocument();
doc.LoadXml("<name><surname value="AUTH_16896"></surname></name>");
foreach(XmlNode node in doc.DocumentElement.ChildNodes){
string text = node.InnerText; //or loop through its children as well
}
XmlDocument doc=新的XmlDocument();
doc.LoadXml(“”);
foreach(doc.DocumentElement.ChildNodes中的XmlNode节点){
string text=node.InnerText;//也可以循环遍历其子级
}
试试这个。
我同意,但是我会考虑使用LINQ到XML API,因为它可能有点冗长。如果您使用正则表达式,有很多方法无法解析有效的XML,因此,除非您的XML非常简单,否则我将使用解析API。是的,我同意,但这取决于要求。先生,但此解决方案不适合我们的要求…您能给我另一个解决方案或提供任何正则表达式模式吗正则表达式工作正常,if node have not change if node have change in the repeat cycle value regex始终失败。我的方法是选择xml文件中的所有标记并将其删除,只获取文本值并存储在列表中