数据库批量更新,添加!有关XML的操作
得到一个需要处理的XMl
private string GetSaveItem()
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml("<menuCollection/>");
foreach (TreeNode node in trvAccessRight.CheckedNodes)
{
if (node != trvAccessRight.Nodes[0])
{
XmlElement content = xmlDoc.CreateElement("menuItem");
content.SetAttribute("menuID", node.Value);
xmlDoc.DocumentElement.AppendChild(content);
}
}
return xmlDoc.OuterXml;
}
将以上的获得的XMl字符串当参数传入存储过程中,
存储如下写
ALTER PROCEDURE [dbo].[usp_UserGroup_SetRight]
(@GroupID INT ,@ChangedBy VARCHAR(50) ,@MenuXml XML)
AS
BEGIN
--SET XACT_ABORT ON
BEGIN TRY
BEGIN TRANSACTION
--delete
DELETE
from tbl_SysUserGroupRight
WHERE GroupId = @GroupID
--insert
INSERT INTO tbl_SysUserGroupRight
(
GroupId
,MenuID
,ChangedBy
,ChangedOn
)
SELECT @GroupID
,menuList.row.value(N'@menuID' ,'VARCHAR(50)') AS MenuID
,@ChangedBy
,GETDATE()
from @MenuXml.nodes('/menuCollection/menuItem') AS menuList(row)
COMMIT TRANSACTION
RETURN 1
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
RETURN 0
END CATCH
更新可以借鉴上面的添加操作,
相关文档:
VC解析XML--使用CMarkup类解析XML
(一) 先讲一下XML中的物殊字符,手动填写时注意一下。
字符 字符实体
& &nb ......
源xml文件
<?xml version="1.0" encoding="iso-8859-1"?>
<books>
<stock>
<name>The Picasso Code</name>
<author>Dan Blue</author>
<category>Fiction</category>
<description>Cubist paintings reveal a secret society of people ......
flex和spring+hibernate整合完成后web.XML出现如下错误
The content of element type "web-app" must match "(icon?,display-name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?,mime-mapping*,welcome-file-list?,error-page*,taglib*,reso ......
精短高效的XML解析器,纯C单一程序,应用于银行的国税库行横向联网接口系统中,稳定可靠,运行速度飞快,非相应的JAVA程序可比.以下为大部分源码:
/* Copyright (c) 2005 wzs */
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
#include <varargs.h>
#i ......
<
<
小于
>
>
大于
&
&
和号
'
'
单引号
"
"
引号
注释:在 XML 中,只有字符 "<" 和 "&" 确实是非法的。大于号是合法的,但是用实体引用来代替它是一个好习惯。 ......