想要自定义c#中config的结点 只需要新建一个继承configuration的类即可,如:
using System;
using System.Collections.Generic;
using System.Web;
using System.Configuration;
public class TestObject : ConfigurationSection
{
[ConfigurationProperty("name", IsRequired = true)]
public string Name
{
get { return (string)base["name"]; }
set { base["name"] = value; }
}
}
想要config的自定义结点能同其他结点一样可以智能提示的话 需要在vs安装目录下Xml\Schemas文件夹下新建一个xsd文件
并新建一个同名的xml文件引入
如 test.xml:
<?xml version="1.0" encoding="utf-8"?>
<SchemaCatalog xmlns="http://schemas.microsoft.com/xsd/catalog">
<Association extension="config" schema="%InstallRoot%/xml/schemas/MYIoc.xsd" />
</SchemaCatalog>
对应test.xsd:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="testNode">
<xs:complexType>
<xs:anyAttribute namespace="http://schemas.microsoft.com/XML-Document-Transform" processContents="strict"/>
</xs:complexType>
</xs:element>
xsd中结点的定义方法可以参考:http://www.w3school.com.cn/schema/schema_simple.asp
xsd文件也可以使用vs提供的xsd.exe工具在命令行下通过xml文件生成