我有一个Xml文档,它定义和引用一些命名空间.我将它加载到XmlDocument对象中,据我所知,我创建了一个XmlNamespaceManager对象,用它来查询Xpath.问题是我得到了XPath异常,命名空间"my"没有定义.如何让命名空间管理器看到我引用的命名空间已经定义.或者更确切地说,如何从文档到命名空间管理器获取命名空间定义.
此外tt让我感到奇怪的是,您必须首先为文档名称表创建的文档提供命名空间管理器.即使您需要对手动命名空间进行硬编码,为什么不能将它们直接添加到文档中.为什么总是必须在每个查询中传递此命名空间管理器?什么不能XmlDocument只知道?
码:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(programFiles + @"Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\HfscBookingWorkflow\template.xml");
XmlNamespaceManager ns = new XmlNamespaceManager(xmlDoc.NameTable);
XmlNode referenceNode = xmlDoc.SelectSingleNode("/my:myFields/my:ReferenceNumber", ns);
referenceNode.InnerXml = this.bookingData.ReferenceNumber;
XmlNode titleNode = xmlDoc.SelectSingleNode("/my:myFields/my:Title", ns);
titleNode.InnerXml = this.bookingData.FamilyName;
Run Code Online (Sandbox Code Playgroud)
XML:
<?xml version="1.0" encoding="UTF-8" ?>
<?mso-infoPathSolution name="urn:schemas-microsoft-com:office:infopath:Inspection:-myXSD-2010-01-15T18-21-55" solutionVersion="1.0.0.104" productVersion="12.0.0" PIVersion="1.0.0.0" ?>
<?mso-application progid="InfoPath.Document" versionProgid="InfoPath.Document.2"?>
<my:myFields xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2010-01-15T18:21:55" xmlns:xd="http://schemas.microsoft.com/office/infopath/2003">
<my:DateRequested xsi:nil="true" />
<my:DateVisited xsi:nil="true" />
<my:ReferenceNumber />
<my:FireCall>false</my:FireCall>
Run Code Online (Sandbox Code Playgroud)
更新:
ns.AddNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
ns.AddNamespace("xhtml", "http://www.w3.org/1999/xhtml");
ns.AddNamespace("xd", "http://schemas.microsoft.com/office/infopath/2003");
ns.AddNamespace("my", "http://schemas.microsoft.com/office/infopath/2003/myXSD/2010-01-15T18:21:55");
Run Code Online (Sandbox Code Playgroud)
这样做,但这意味着我必须硬编码到这个特定的xml架构.此架构表示infopath表单模板.特别是我的命名空间url对于每个表单模板都是不同的,所以我真的不想硬编码.很高兴找到一种从xml获取此命名空间的简洁方法,而无需使用RegEx.
我希望XmlNamespaceManager只是从NameTable中获取命名空间定义.我的意思是他们在Xml中,但我仍然需要定义它们.
我是支持事情的忠实粉丝.我把我重要的学校论文放在Dropbox的一个文件夹里.我确保所有照片都复制到外部驱动器.我有一个家庭服务器,我将重要文件保存在服务器内的两个驱动器上(如软件RAID 1).
所以对于我的代码,我总是使用Subversion备份它.我保留trunk文件夹的应用程序的稳定副本,但后来我创建了一个用我的用户名命名的分支,里面有我的工作副本.我在该分支的提交之间做了很少的更改,并且理解其中的代码是我的备份.
现在我正在研究Mercurial,我必须承认我还没有真正使用它,所以我可能会把这一切都搞错了.但在我看来,您有一个服务器端存储库,然后以本地存储库的形式将其克隆到工作目录.然后,当您处理某些事情时,您将提交到该本地存储库,当事物处于要与其他人共享的状态时,您hg push将进入服务器上的父存储库.
在推出稳定,经过测试,无错误的代码之间,备份在哪里?
在做了一些思考后,我得出的结论是,它不是用于备份目的,而是假设你自己处理了这个问题.我想我需要将我的Mercurial本地存储库保存在我的Dropbox或其他备份位置,因为我的正在进行的代码没有被推送到服务器.
这几乎是它,还是我错过了什么?如果您使用Mercurial,您如何备份本地存储库?如果你今天早上打开你的电脑并且你的硬盘驱动器起火了(或者更可能的是,读头坏了,或者操作系统自行损坏了......),会丢失什么?如果您在过去一周内开发模块,为其编写测试用例,记录和评论它,然后病毒擦除您的本地存储库,那不是唯一的副本吗?
那么另一方面,您是否为每个本地存储库创建了一个远程存储库并一直推送到它?
你如何找到平衡?您如何确保备份代码?使用Mercurial作为备份和使用本地文件系统备份实用程序保持本地存储库安全之间的界限在哪里?
我可以使用以下URL直接将webservie调用到浏览器,它将返回我想要的所有内容:
http://localhost:64438/MySearchAutoComplete.asmx/GetCompletionList
Run Code Online (Sandbox Code Playgroud)
当我将它添加到autocompleteexetender到Default.aspx页面时,如下所示:
<cc1:AutoCompleteExtender ID="AutoCompleteExtender1"
TargetControlID="TextBox1"
runat="server"
ServiceMethod="GetCompletionList"
ServicePath="http://localhost:64438/MySearchAutoComplete.asmx"
CompletionSetCount="12"
MinimumPrefixLength="1" />
Run Code Online (Sandbox Code Playgroud)
页面加载,我有一个文本框但每次在文本框中添加击键时我都有一个错误500.我在FireFox FireBug中看到了错误.
http://localhost:62702/ --->This is the webpage that load fine
Run Code Online (Sandbox Code Playgroud)
alt text http://clip2net.com/clip/m12122/1269451120-clip-2kb.png - >这是错误
任何的想法?我注意到我需要附加调试webservice的过程,我也可能做错了吗?
如果我去我的机器的事件查看器.我可以看到 :
Exception information:
Exception type: InvalidOperationException
Exception message: Request format is unrecognized for URL unexpectedly ending in '/GetCompletionList'.
Thread information:
Thread ID: 8
Thread account name: MTL\daok
Is impersonating: False
Stack trace: at System.Web.Services.Protocols.WebServiceHandlerFactory.CoreGetHandler(Type type, HttpContext context, HttpRequest request, HttpResponse response)
at System.Web.Services.Protocols.WebServiceHandlerFactory.GetHandler(HttpContext context, String verb, String url, String filePath) …Run Code Online (Sandbox Code Playgroud) 从我的脚本中得到一个未知的卷曲错误我遇到了一个小问题
curl_error():180不是有效的cURL句柄资源
这是导致错误和确切日志的部分:PHP警告:curl_error():180不是有效的cURL句柄资源
if(curl_error($ch))
{
curl_close($ch);
$resp = curl_error($ch); // That's the line causing the error
error_log(date('Y M D h:s:m '). ": $current error: " .curl_error($ch)."\n", 3, '../../usererrors/'.$username.'errors');
return $resp;
}
Run Code Online (Sandbox Code Playgroud) 如果我使用Rhino Mocks,NUnit和ASP.NET MVC 2,那么简单的单元测试会是什么样的,以确认某个控制器是否存在?我试图围绕TDD的概念,但我无法弄清楚如何像"控制器XYZ存在"这样的简单测试.另外,单元测试在视图中测试动作结果会是什么样的?
我需要从框架集框架中访问和元素.例如,如果我有以下标记:
<frameset rows="33%,33%,*">
<frame src="frame1.html"/>
<frame src="frame2.html"/>
<frame src="frame3.html"/>
</frameset>
Run Code Online (Sandbox Code Playgroud)
如何从其中一个子框架中获取某些元素?我试过这个:
window.frames[1].getElementById('someElementId')
Run Code Online (Sandbox Code Playgroud)
这会导致类型错误:
getElementById()不是函数.
有人可以帮忙吗?
谢谢!
我试图找出如何使用Postgresql 8定义数据库的模式.
我有2张桌子:
Journals, Books
定义我的出版物
Journal:
id_j, name, issn, other fields
Book:
id_b, name, isbn, author, other fields
Run Code Online (Sandbox Code Playgroud)
我有另一个表Scans在逻辑上引用前面的表.
Scans:
id, medium, source, status
Run Code Online (Sandbox Code Playgroud)
每个Journal或Book可以有多个Scan,但每个Scan只能引用一个Journal或Book.
正式这一点,我的第一个想法是把两个外键的Scans像
Scans:
id, medium, source, status, id_j, id_b
Run Code Online (Sandbox Code Playgroud)
并填写id_j或id_b
但这个解决方案在我看来有点奇怪.
我不希望(如果可能的话)以这样的方式定义表:
Scans:
id, medium, source, status, id_other_table, other_table_name
Run Code Online (Sandbox Code Playgroud)
因为我希望表之间有正式的联系.
任何的想法?
我目前的项目分为3个部分:网站,桌面客户端和第三方程序的插件.我们最初使用Subversion开始我们的源代码控制,但在阅读Joel Spolsky的最后帖子后决定尝试Mercurial .考虑到我们之前没有真正使用过svn的大部分潜力,我们认为从源控制如何工作的一些基本想法开始,这将使这种转变变得容易.
但是,在设置了我们的初始存储库之后,我们很遗憾标记和分支应该如何在这样的项目上工作.
基本上,我们同时处理所有这三个部分.我们希望发布版本是3个部分的组合.目前我们正在一个存储库中工作.
对于Plug-in部分,我们已经完成了第一次迭代,我们将其称为Plug-In v0.1.对于其他两个部分的第一次正式构建,我们还想将它们称为网站v0.1和桌面客户端v0.1.当所有三个部分都在v0.1时,我们希望有一个完整的项目v0.1.
我们的问题是我们不确定如何在Hg存储库中管理所有这些.处理此问题的最佳方法是为3个稳定版本创建3个单独的存储库,然后为当前开发创建3个存储库吗?目前我们将这一切都集中在一个存储库中 我们应该在分支机构中执行此操作(分支是否与克隆存储库不同?)和标记?
任何帮助是极大的赞赏.
有没有人有一个模板来编写一个像样的equals方法 - 我记得在Effective Java中,在处理子类时遇到了处理equals的问题.
我没有这本书,我不记得这是否是实用的建议 - 所以你如何编写一个稳固的强大的equals方法实现?
c# ×3
mercurial ×2
.net ×1
asp.net ×1
asp.net-ajax ×1
backup ×1
boost ×1
c++ ×1
curl ×1
database ×1
frames ×1
frameset ×1
javascript ×1
nunit ×1
php ×1
postgresql ×1
rhino-mocks ×1
sql ×1
svn ×1
tdd ×1
web-services ×1
xml ×1