DB中2个表, PurchaseOrder 是主表,LineItem 是从表内容, xml属性是DB的列, 如何实现查询DB后生成xml为 下面效果呢,c#代码?
<?xml version="1.0"?>
<!DOCTYPE PurchaseOrder [
<!ELEMENT PurchaseOrder (LineItem+)>
<!ATTLIST PurchaseOrder
POID CDATA #REQUIRED
PurchaseOrderNumber CDATA #REQUIRED
RevisionNumber CDATA #REQUIRED
StatusID CDATA #REQUIRED
RequestDate CDATA #REQUIRED>
<!ELEMENT LineItem ANY>
<!ATTLIST LineItem
SKUID CDATA #REQUIRED
POID CDATA #REQUIRED
Size CDATA #REQUIRED
Color CDATA #REQUIRED
Style CDATA #REQUIRED
RetailPrice CDATA #REQUIRED
SKUQuantity CDATA #REQUIRED
LineItemNo CDATA #REQUIRED>
]><PurchaseOrder POID="94784" PurchaseOrderNumber="010001"
RevisionNumber="000" StatusID="Downloaded" RequestDate="12042004">
<LineItem SKUID="3300003617" POID="94784" Size="M" Color="Red"
Style="DarkSun" RetailPrice="24.8" SKUQuantity="400" LineItemNo="001"/>
<LineItem SKUID="3300003621" POID="94784" Size="M" Color="Black"
Style="DarkSun" RetailPrice="24.8" SKUQuantity="400" LineItemNo="002"/>
</PurchaseOrder>
<?xml version="1.0"?>
<!DOCTYPE PurchaseOrder [
<!ELEMENT PurchaseOrder (LineItem+)>
<!ATTLIST PurchaseOrder
POID CDATA #REQUIRED
PurchaseOrderNumber CDATA #REQUIRED
RevisionNumber CDATA #REQUIRED
StatusID CDATA #REQUIRED
RequestDate CDATA #REQUIRED>
<!ELEMENT LineItem ANY>
<!ATTLIST LineItem
SKUID CDATA #REQUIRED
POID CDATA #REQUIRED
Size CDATA #REQUIRED
Color CDATA #REQUIRED
Style CDATA #REQUIRED
RetailPrice CDATA #REQUIRED
SKUQuantity CDATA #REQUIRED
LineItemNo CDATA #REQUIRED>
]><PurchaseOrder POID="94784" PurchaseOrderNumber="010001"
RevisionNumber="000" StatusID="Downloaded" RequestDate="12042004">
<LineItem SKUID="3300003617" POID="94784" Size="M" Color="Red"
Style="DarkSun" RetailPrice="24.8" SKUQuantity="400" LineItemNo="001"/>
<LineItem SKUID="3300003621" POID="94784" Size="M" Color="Black"
Style="DarkSun" RetailPrice="24.8" SKUQuantity="400" LineItemNo="002"/>
</PurchaseOrder>
解决方案 »
- 进 进来就有分哦
- 第 1 行: 'a' 附近有语法错误。
- 2个.sitemap,让SiteMap.CurrentNode.Title正常显示对应的值。请高手赐教!!!
- 把程序的数据访问层打包成dll放到bin下,删除被打包前的cs文件.在调试程序单步执行时发现可以直接调试dll文件(能看到源码).
- 非常急的一个问题,关于gridview
- 这些数据应该如何处理
- 为什么在IE下可以加载左边的树,而在FireFox下却不行?
- 用域账户登录到OA系统,碰到问题了,有人做过么?
- 请介绍个类似于Timesheet的例子程序
- 增加一笔数据时,如何在datagrid中增加一编辑行作填写数据,保存用
- 关于用户控件的问题
- 用SEVER.TRANSFER重定向不成功是什么原因,怎样解决??
ds.Tables["LineItem"].Columns["POID"]);dr.Nested=true;
ds.Relations.Add(dr);foreach(DataColumn col in ds.Tables["PurchaseOrder"].Columns);
col.ColumnMapping=MappingType.Attribute;foreach(DataColumn col in ds.Tables["LineItem"].Columns);
col.ColumnMapping=MappingType.Attribute;ds.WriteXml(@"e:\123.xml");
- <NewDataSet>
- <PurchaseOrder 首尾多了个 <NewDataSet>
如何解决 ?
ds.WriteXml(@"e:\123.xml");
XmlDocument doc=new XmlDocument();
doc.Load(@"e:\123.xml");XmlNode node=doc.DocumentElement.ChildNodes[0];
doc.RemoveChild(doc.DocumentElement);doc.AppendChild(node);
doc.Save(@"e:\123.xml");
异常详细信息: System.ArgumentException: 不能启用此约束,因为不是所有的值都具有相应的父值。不能启用此约束,因为不是所有的值都具有相应的父值。
if ((Request.QueryString["poID"]!=null)&&(Request.QueryString["poID"]!=String.Empty))
{
string s =Request.QueryString["poID"] ;
adp.SelectCommand = new OleDbCommand("select * from Ice_poinfo_line where poid=?",conn)
;
adp.SelectCommand.Parameters.Add("poid",OleDbType.VarChar,20).Value=s;
}
else
{
adp.SelectCommand = new OleDbCommand("select * from Ice_poinfo_line ",conn) ;
}
// try
{
adp.Fill(ds,"PurchaseOrder");
adp.SelectCommand = new OleDbCommand("select * from Ice_poinfo_line2",conn);
adp.Fill(ds,"LineItem");
<PurchaseOrder POID="94785" PURCHASEORDERNUMBER="010002" REVISIONNUMBER="000" STATUS="Accepted" REQUESTDATE="11182004" />
<LineItem SKU_ID="3300003645" POID="94785" size="L" COLOR="Green" RETAILPRICE="30" STYLE="DC" SKUQUANTITY="500" LINEITEMNO="001" />
<LineItem SKU_ID="3300003617" POID="94784" size="M" COLOR="Red" RETAILPRICE="24.8" STYLE="DarkSun" SKUQUANTITY="400" LINEITEMNO="001" />
<从表内容>
</从表内容>
</PurchaseOrder>
ds.Tables["LineItem"].Columns["POID"]);dr.Nested=true; //你是不是没有设置这个
ds.Tables["PurchaseOrder"].DefaultView.RowFilter="RetailPrice<20"; or ds.Tables["PurchaseOrder"].DefaultView.RowFilter="RetailPrice<'20'";