尽可能多地详细描述问题。 例如,我有xml文件:
<?xml version="1.0"?>
<root>
<paths>
<path>
<file>
<id>1</id>
<name>example</name>
</file>
<options>
<isreadonly>true</isreadonly>
</options>
</path>
</paths>
</root>
并拥有XPahts:
如何使用正则表达式验证此路径?
我可以使用此正则表达式验证一个xml元素名称 - ^(?!XML)[a-zA-Z] [\ w] * $,但我需要String.Split(此字符串)然后在循环中使用正则表达式
这是xml元素名称的命名规则:
无效路径:
感谢。
答案 0 :(得分:0)
如果您打算在模型上标记属性,您只需创建一个自定义属性来检查表达式是否编译。 这将是一个很容易,然后试图正则表达它。 由于正则表达式不是您要解析的工具=&gt; https://softwareengineering.stackexchange.com/questions/113237/when-you-should-not-use-regular-expressions(见接受的答案)。
自定义属性可以如下所示:
public class MyCustomAttribute : ValidationAttribute {
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
//Your logic here.
return ValidationResult.Success;
}
}