我想阅读像 @ type / param 这样的正则表达式匹配项,并从匹配项生成xml文件,如下所示:< type name =“param”> dummy# < / type> ,#符号是一个受限制的值,编码它的最佳方法是什么?
类型& param 是可变的字母数字值
答案 0 :(得分:1)
好的,首先让您的匹配为MatchCollection
:
MatchCollection matches = Regex.Matches(someInput,@"<your regex>",RegOptions.IgnoreCase);
然后创建一个文件和XML编写器,迭代匹配并生成XML:
using (FileStream file = new FileStream("output.xml",FileMode.Create,FileAccess.Write,FileShare.None)) {
XmlTextWriter xml = new XmlTextWriter(file);
xml.WriteStartDocument();
xml.WriteStartElement("Types");
foreach(Match match in matches) {
string type = match.Groups[1].Value;
string param = match.Groups[2].Value;
xml.WriteStartElement(type);
xml.WriteAttributeString("name",param);
xml.WriteEndElement();
}
xml.WriteEndElement();
xml.WriteEndDocument();
xml.Flush();
}
我正在做一些假设,比如你的类型/参数是正则表达式中的捕获组。
应该给你:
<Types>
<*Type* name="param" />
</Types>