我正在尝试使用XslTransform从另一个XML生成XML.我将这两个文件(源XML和XSL转换文件)作为字符串内容,所以我试图将XSL文件作为XmlReader传递给XslTransform.Load()方法.现在必须从包含XSL文件的源字符串创建XmlReader,所以我尝试这样做:
MemoryStream memStream = new MemoryStream();
byte[] data = Encoding.Default.GetBytes(transformation.XsltContent);
memStream.Write(data, 0, data.Length);
memStream.Position = 0;
XmlReader reader = XmlReader.Create(memStream);
Run Code Online (Sandbox Code Playgroud)
并尝试使用StringReader:
XmlReader reader = XmlReader.Create(new StringReader(transformation.XsltContent));
Run Code Online (Sandbox Code Playgroud)
不幸的是,bot方法似乎不起作用,输入似乎没问题,我甚至尝试创建一些基本的单元素XML来传递,也不会工作 - 读者包含{None}.
有人能指出这里似乎有什么问题吗?
我想在我的程序中创建一个功能来保存当前的数据库状态并能够在将来恢复它。如果我回到两天前的某个状态,我还希望能够从今天开始返回到某个状态。我正在考虑从事务日志恢复数据库(每次我想保存状态时,我都会提交一个标记事务(在一些无关紧要的数据上))。是否有可能使用此解决方案恢复一些较早的状态,然后能够恢复较新的状态,或者我会在恢复后丢失它(或者它们会从事务日志中消失)?
我创建了一个函数:
CREATE FUNCTION FindDistrictId (@param XML)
RETURNS INT
(...)
Run Code Online (Sandbox Code Playgroud)
我想在这样的存储过程中使用:
CREATE PROCEDURE UpdateDistinctID
AS
UPDATE Notices SET DistinctId = FindDistrictId(Notices.XmlContent)
WHERE DistinctId = 0
Run Code Online (Sandbox Code Playgroud)
当我尝试这样做时,我得到'FIndDistrictId不是公认的内置函数名'.我想也许我不能这样做Set field = function()但我在这里检查了,我认为它应该工作..任何想法为什么它不是?该函数是为了我的数据库而创建的,我检查了sys.object