毕业设计选的题目。现在需要实现的是,根据传入的ID值,找到对应的line元素,并把该line元素下的所有子元素的值赋给一个对象。
下面贴上XML文件和DTD文件:line.xml(我已经省略了一些形式一样的line节点):
<?xml version="1.0" encoding="gb2312" standalone="no"?>
<!DOCTYPE main SYSTEM "line.dtd"><main><!--应用时,将非曲线线段的最后两个属性均取值为零-->
<!--若curvestart属性为零,表示从该段线路一开始即为曲线-->
<line id="1">
<isCurve>false</isCurve>
<length>71</length>
<ramp>3.0</ramp>
<curve>0</curve>
<curvestart>0</curvestart>
</line><line id="2">
<isCurve>true</isCurve>
<length>57</length>
<ramp>3.0</ramp>
<curve>800</curve>
<curvestart>0</curvestart>
</line><line id="3">
<isCurve>true</isCurve>
<length>24</length>
<ramp>8.1</ramp>
<curve>800</curve>
<curvestart>0</curvestart>
</line></main>line.dtd:
<?xml version="1.0" encoding="GB2312" ?><!ELEMENT isCurve (#PCDATA)>
<!ELEMENT length (#PCDATA)>
<!ELEMENT ramp (#PCDATA)>
<!ELEMENT curve (#PCDATA)>
<!ELEMENT curvestart (#PCDATA)>
<!ELEMENT line (isCurve,length,ramp,curve,curvestart)>
<!ATTLIST line id ID #REQUIRED>
下面贴上XML文件和DTD文件:line.xml(我已经省略了一些形式一样的line节点):
<?xml version="1.0" encoding="gb2312" standalone="no"?>
<!DOCTYPE main SYSTEM "line.dtd"><main><!--应用时,将非曲线线段的最后两个属性均取值为零-->
<!--若curvestart属性为零,表示从该段线路一开始即为曲线-->
<line id="1">
<isCurve>false</isCurve>
<length>71</length>
<ramp>3.0</ramp>
<curve>0</curve>
<curvestart>0</curvestart>
</line><line id="2">
<isCurve>true</isCurve>
<length>57</length>
<ramp>3.0</ramp>
<curve>800</curve>
<curvestart>0</curvestart>
</line><line id="3">
<isCurve>true</isCurve>
<length>24</length>
<ramp>8.1</ramp>
<curve>800</curve>
<curvestart>0</curvestart>
</line></main>line.dtd:
<?xml version="1.0" encoding="GB2312" ?><!ELEMENT isCurve (#PCDATA)>
<!ELEMENT length (#PCDATA)>
<!ELEMENT ramp (#PCDATA)>
<!ELEMENT curve (#PCDATA)>
<!ELEMENT curvestart (#PCDATA)>
<!ELEMENT line (isCurve,length,ramp,curve,curvestart)>
<!ATTLIST line id ID #REQUIRED>
解决方案 »
- 麻烦各位帮看下这段合并相同列代码有什么问题吗?总是提示; expected
- 想了很久了都没想通。这个可以用多个datagridview的datasource分别绑定多个表的信息吗,怎么建立一个方法呢?
- [100分在线求一简单问题]关于switch语句
- myForm.StartPosition = this.CenterToParent() 出问题,请问何解?谢谢
- 请教高手们一个关于Parameters中的ReturnValue问题啊
- 数组长度大小如何定义
- C#做的winform程序,怎样让他出错之后能自己结束所有线程?
- 求VS.net2003下载地止(急)
- 绘制动态曲线时出问题
- 急!!!!!!!!!!!!!!这个是什么错误啊??
- HashTable取值问题?
- 那位大哥告诉我学C#要具备那些基础啊?
doc.Load(xmlfile);
XmlNode node = doc.SelectSingleNode("//line[@id="+inputid+"]");
//其余的可以通过操作node 实现,例如可以xml序列化,或者遍历node的childrennode 处理
doc.Load("line.xml");
XmlNode node = doc.SelectSingleNode("/line[@id='"+id+"']");
class c=new class();
foreach (XmlElement no in node.ChildNodes)
{
c.isCurve=no["isCurve"].InnerText;
.....类似
}
c.isCurve = no["isCurve"].InnerText;
这里。请问这里是不是有什么不对的?
class c=new class(); //是你的class对象。不是我写的...class
foreach (XmlNode el in node.ChildNodes)
{
c.isCurve = el.InnerText;//这里应该是innertext就对了。 }