我想将此xml转换为c#代码?

时间:2011-02-15 04:39:16

标签: c# asp.net xml

<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
    <Width>6.5in</Width>
    <Body>
        <Height>2in</Height>
    </Body>
    <rd:InitialLanguage>true</rd:InitialLanguage>
    <rd:InitialDimensions>
        <rd:UnitType>Inch</rd:UnitType>
        <rd:LeftMargin>1in</rd:LeftMargin>
        <rd:RightMargin>1in</rd:RightMargin>
        <rd:TopMargin>1in</rd:TopMargin>
        <rd:BottomMargin>1in</rd:BottomMargin>
        <rd:PageWidth>8.5in</rd:PageWidth>
        <rd:PageHeight>11in</rd:PageHeight>
        <rd:ColumnSpacing>0.5in</rd:ColumnSpacing>
    </rd:InitialDimensions>
    <rd:InitialDimensions>
        <rd:UnitType>Cm</rd:UnitType>
        <rd:Width>16cm</rd:Width>
        <rd:Height>5cm</rd:Height>
        <rd:LeftMargin>2.5cm</rd:LeftMargin>
        <rd:RightMargin>2.5cm</rd:RightMargin>
        <rd:TopMargin>2.5cm</rd:TopMargin>
        <rd:BottomMargin>2.5cm</rd:BottomMargin>
        <rd:GridSpacing>0.25cm</rd:GridSpacing>
        <rd:PageWidth>21cm</rd:PageWidth>
        <rd:PageHeight>29.7cm</rd:PageHeight>
        <rd:ColumnSpacing>1cm</rd:ColumnSpacing>
    </rd:InitialDimensions>
</Report>

2 个答案:

答案 0 :(得分:2)

您可以查看LINQ to XML有关如何解析XML的信息。由于您似乎没有具体问题,这里有一个示例,说明如何读取xml中第一个Width元素的值:

XDocument doc = XDocument.Load(@"test.xml");
var width = doc.Descendants("Width").First().Value;

答案 1 :(得分:0)

首先,为xml:

生成一个模式
xsd.exe "yourXml.xml"

这将生成包含xml架构的yourXml.xsd文件。验证此架构是否描述了您希望在课程中反映的内容。

对架构满意后,使用xsd.exe生成类:

xsd.exe "yourXml.xsd" /c

注意:如果您想要生成DataSet课程,请使用/d