SQL Server2005 xml字段使用方法 1对多表记录读取
在SQL Server2005中有FOR XML 用法,可以讲一个表作为一个字段。
我的设计想法主要是用在1对多的关系中表读取的问题。
表A 表B
在A中有一条记录而在B中有多条记录可以参照下面的写法:(我的项目中用到的,修改了字段主要是演示用)
select A.*,
(SELECT a, CAST(G_Univalence AS NVARCHAR(48)) AS G_Univalence,
--注意留下他的意义只是money字段在for xml中它采用科学计数法显示,在应用中不好处理
from B WHERE B.CB_ID = A.BP_ID FOR XML RAW,TYPE,ROOT('GrainConstraint')) AS GrainConstraint
--使用TYPE返回 xml字段类型
from A
在后台,使用SqlDataReader读取xml字段,GetSqlXml(),参照下面的代码.
public static bool ToDataTable(SqlXml sxSource, DataTable dt)
{
XmlReader xmlReader = sxSource.CreateReader();
string tempName;
int nColumnIndex;
Type type;
while (xmlReader.Read()) //每次循环1条记录
{
switch (xmlReader.NodeType)
{
case XmlNodeType.Element:
if (xmlReader.LocalName == "row")
{
&n
相关文档:
对Xml的节点进行简单查询的时候,常用的可以使用如下方法:
(1) XmlNode node = doc.selectSingleNode("//AllNode/Node[@ID = ’aaa’]");
在整个Xml中查找AllNode节点下的节点名为Node的节点,该子节点的ID属性值为aaa
(2)XmlNode node = doc.selectSingleNode("//AllNode /*[@ID = ’aaa& ......
DECLARE @HDOC INT --文档句柄
DECLARE @XMLSTRING VARCHAR(200) --XML字符串
SET @xmlString ='<?xml version="1.0"?>
<ROOT>
<USER ID="1" Name="SBQCEL"/>
<USER ID="2" Name="PEACELI"/>
<USER ID="3" Name="SHEEPCHANG"/>
</ROOT>'
--使用系统存储 ......
引用类库:
using System;
using System.Data;
using System.IO;
using System.Xml;
using System.Text;
// 相应C#代码:
private string ConvertDataTableToXML(DataTable xmlDS)
{
MemoryStream stream = null;
XmlTextWriter writer = null;
try
......
三、训练分类器
样本创建之后,接下来要训练分类器,这个过程是由haartraining 程序来实现的。
Haartraining 的命令行参数如下:
-data<dir_name>
存放训练好的分类器的路径名。
-vec<vec_file_name>
正样本文件名(由trainingssamples 程序或者由其他的方法创建的)
-bg<background_file_name& ......
实现功能:根据配置文件(XXXX.ini)中的内容对XML中节点进行操作,如果XML中存在与配置文件中相同的节点,则根据配置文件将XML文件中相应节点的值进行更新;如果XML文件中不存在配置文件中出现的节点,则在XML中将新节点及值进行插入操作。
◆XML文档结构如下
//------------------------------------------------------ ......