小编Che*_*eso的帖子

.NET Web服务。(ASMX)如何调整请求和响应消息?

我正在构建一个Web服务来接受公司的通知。该公司通知我该服务的结构不正确,并向我提供了可运行的Web服务的.asmx。看起来像这样:

请求:

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
       xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <AuthenticationInfo
           xmlns="http://www.usps.com/postalone/services/UserAuthenticationSchema">
      <UserId xmlns="">string</UserId>
      <UserPassword xmlns="">string</UserPassword>
    </AuthenticationInfo>
    <fullServiceAddressCorrectionNotification
            xmlns="http://www.usps.com/postalone/services/POCustomerMailXMLServices">string</fullServiceAddressCorrectionNotification>
  </soap12:Body>
</soap12:Envelope>
Run Code Online (Sandbox Code Playgroud)

响应:

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
       xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <FullServiceNixieDetailNotificationResponse
         xmlns="http://idealliance.org/maildat/Specs/md091/mailxml70C/mailxml">
      <FullServiceNixieDetailNotificationResult>string</FullServiceNixieDetailNotificationResult>
    </FullServiceNixieDetailNotificationResponse>
  </soap12:Body>
</soap12:Envelope>
Run Code Online (Sandbox Code Playgroud)

我的看起来像这样:请求:

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
       xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <FullServiceNixieDetailNotification
          xmlns="http://idealliance.org/maildat/Specs/md091/mailxml70C/mailxml">
      <AuthenticationInfo>
        <UserID>string</UserID>
        <Password>string</Password>
      </AuthenticationInfo>
      <fullServiceAddressCorrectionNotification>string</fullServiceAddressCorrectionNotification>
    </FullServiceNixieDetailNotification>
  </soap12:Body>
</soap12:Envelope>
Run Code Online (Sandbox Code Playgroud)

响应:

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
       xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <notificationResponse
       xmlns="http://www.usps.com/postalone/services/POCustomerMailXMLServices">string</notificationResponse>
  </soap12:Body>
</soap12:Envelope>
Run Code Online (Sandbox Code Playgroud)

如您所见,我的东西包裹在一个我需要摆脱的额外元素中。Unfortunatley,我不确定如何执行此操作。我的Web服务代码如下:

Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.ComponentModel
Imports System.Data.SqlClient

Public Structure AuthenticationInfoType …
Run Code Online (Sandbox Code Playgroud)

vb.net web-services asmx

2
推荐指数
1
解决办法
4160
查看次数

LINQ:C#中XML节点的总和值

我有一个XML文档,我想总结一个特定名称的所有元素.我该怎么做呢?

c# xml linq

2
推荐指数
1
解决办法
6079
查看次数

将子条目添加到vbscipt中xml文件中的特定节点

我有一个带有此条目的xml文件DataConfiguration.xml

<DataSource>
 <localdata>
    <add context="Localization">
       <parameter name="timeout" type="int" defaultvalue="60"/>
       <parameter name="address" type="string" defaultvalue="192.168.9.45" />
       <parameter name="port" type="int" defaultvalue="6789"/>
    </add>
</localdata>
</DataSource>
Run Code Online (Sandbox Code Playgroud)

我需要在"localdata"中添加另一个条目,这样就可以了

 <DataSource>
     <localdata>
        <add context="Localization">
           <parameter name="timeout" type="int" defaultvalue="60"/>
           <parameter name="address" type="string" defaultvalue="192.168.9.45" />
           <parameter name="port" type="int" defaultvalue="6789"/>
        </add>
       <add context="General">
           <parameter name="timeout" type="int" defaultvalue="60"/>
           <parameter name="address" type="string" defaultvalue="192.168.9.478" />
           <parameter name="port" type="int" defaultvalue="5674"/>
        </add>
    </localdata>
    </DataSource>
Run Code Online (Sandbox Code Playgroud)

我如何在vbscript中添加它?

我的当前代码

'created xml file object
Set xmlDoc = CreateObject("Msxml2.DOMDocument")

xmlDoc.async = False  
xmlDoc.preserveWhiteSpace= True 
xmlDoc.load("DataConfiguration.xml")

Dim entry

entry = "<add context=""General"">" …
Run Code Online (Sandbox Code Playgroud)

xml vbscript msxml

2
推荐指数
1
解决办法
2万
查看次数

给我一个从Javascript对KML文档执行xpath查询的示例

我正在研究在Javascript中使用xpath.

我有一个XMLHttpRequest(),它检索KML文档.KML只是XML的一种特殊风格.

我得到文件xhr.responseXML,结果如下:

<kml xmlns="http://www.opengis.net/kml/2.2">
  <Document>
    <Style id="1">
      <IconStyle>
        <color>7f66CC33</color>
        <Icon>
          <href />
        </Icon>
      </IconStyle>
       ...
    </Style>
    <Folder>
      ....
    </Folder>
  </Document>
</kml>
Run Code Online (Sandbox Code Playgroud)

然后我想对它执行查询以选择节点.

    xmlDom.setProperty("SelectionLanguage", "XPath");
    xmlDom.setProperty("SelectionNamespaces","xmlns='http://www.opengis.net/kml/2.2'");
    nodeList = xmlDom.selectNodes("/kml/Document/Folder");
Run Code Online (Sandbox Code Playgroud)

但这不适合我.我希望得到至少一个节点,但我得到零.

Q1:谁能解释为什么这不起作用?

当我调查这个时,我惊讶地发现,浏览器中的XML文档不支持跨浏览器的xpath.显然这个selectNodes()功能只是一个IE浏览器吗?

Q2:有谁可以证实这一点?

如果这是真的,那么我应该如何从浏览器中的XML文档中选择跨浏览器节点.

问题3:如何在XML文档上进行跨浏览器的XPath查询?


ps:我特别不关心在"html上做xpath".这是我正在查询的XML文档.

javascript xml xpath

2
推荐指数
1
解决办法
1596
查看次数

当XML没有命名空间时,如何反序列化用XmlRoot命名空间修饰的类?

以前问过这个问题,但答案对我不起作用:所以这里又是问题:)

我在尝试反序列化某些XML时遇到了麻烦,希望有人可以提供一些帮助.我已经阅读了很多类似的帖子,但我无法解决这个问题.

这是XML

<register-account success="false">
  <user-name>xxxxx</user-name>
  <password>fghgh</password>
  <email>test@example.com</email>
</register-account>
Run Code Online (Sandbox Code Playgroud)

我正在尝试将反序列化为:

[Serializable, XmlRoot(ElementName = "register-account", Namespace = "MyNamespace")]
[XmlType("register-account")]
public class RegisterAccountResponse
{
    [XmlAttribute("success")]
    public bool Success { get; set; } 

    /// <summary>
    /// Gets or sets the Tennant email address
    /// </summary>
    [XmlElement("email")]
    public string Email { get; set; }

    /// <summary>
    /// Gets or sets the tennant password
    /// </summary>
    [XmlElement("password")]
    public string Password { get; set; }

    /// <summary>
    /// Gets or sets the Tennant username
    /// </summary> …
Run Code Online (Sandbox Code Playgroud)

.net xml xml-serialization

2
推荐指数
1
解决办法
2133
查看次数

Node.js - 检查格式良好的 XML

如何在 Node.js 中验证格式良好的 xml?我主要感兴趣的是仅检查文件是否格式正确。另外,我想收到发生错误的行号。

我有以下测试 xml:

<?xml version="1.0" encoding="UTF-8" ?>
<body>
    <tagname>
        test1
    </tag.name>   <--- error here
    <tagname>
        test2
    </tagname>
</body>
Run Code Online (Sandbox Code Playgroud)

到目前为止我已经尝试过:

xmldom:

var parser = new DOMParser({errorHandler: (level, error) => {
    console.log (level, error);
}});
var dom = parser.parseFromString(content, 'application/xml');
Run Code Online (Sandbox Code Playgroud)

问题:没有任何错误提示。错误处理程序永远不会被调用,并且 dom 包含“test1”但不包含“test2”。所以解析器只是停止并吞掉错误。

libxmljs:

var xmlDoc = libxmljs.parseXml(xml);
Run Code Online (Sandbox Code Playgroud)

问题:抛出无用的异常“标记体内数据过早结束”。

xml validation xmldom node.js libxml-js

2
推荐指数
1
解决办法
2300
查看次数

PHP - 如何使用城市和州查找邮政编码

我需要查找邮政编码以获取地址列表(包括城市/州).是否有可供下载的主邮政编码列表(免费)或是否有任何网络服务将返回地址的完整邮资信息.

即查询查询: 386 Bread&Cheese Hollow Rd,Northport,NY ====> 386 Bread And Cheese Hollow Rd,Northport,NY 11768

谢谢!

php lookup zipcode geocoding

1
推荐指数
1
解决办法
7380
查看次数

WinForms:如何模拟图像上的按钮行为?

我有一个winforms TabControl的扩展,它在每个选项卡上绘制一个X,以允许用户关闭选项卡.

alt text http://i41.tinypic.com/bhelqp.jpg

与标准相比:

替代文字http://i42.tinypic.com/2zqa2c3.jpg

如何模拟该图像上的按钮外观?我的意思是,当用户点击时,它应该在视觉上表明.按钮使用插入图像执行此操作.对于奖励积分,我也想做悬停部分 - 鼠标悬停时图像将"亮起".

但X不是一个按钮,它不是PictureBox控件.它根本不是一种控制.它刚刚被吸引到那里.

有没有办法在MouseDp上绘制插入边框并在MouseUp上引发?对于"插入"阶段,我会更好地生成另一个图像吗?(另一个用于悬停).

有人这么做过吗?


相关:模拟Winforms按钮点击动画
但是这个问题不同,因为他实际上有一个PictureBox控件.我不.

.net tabcontrol winforms

1
推荐指数
1
解决办法
1584
查看次数

在x64上用于指针减法的正确类型是什么?

我刚刚开始使用x64编译.

我有几个char*,我正在减去它们.通过32位编译,这可以工作:

char * p1 = ....
char * p3 = ... 
int delta = p3 - p1;
Run Code Online (Sandbox Code Playgroud)

但如果我为x64编译,我会收到警告:

 warning C4244: 'initializing' : conversion from '__int64' to 'int', 
      possible loss of data
Run Code Online (Sandbox Code Playgroud)

使用哪种正确的类型来表示两个指针之间的区别,这两个指针在x86和x64编译中都有效?

我知道我可以在x64编译中使用__int64,但是我希望它也适用于x86,我不想#ifdef在这里嵌入它.

64-bit visual-c++

1
推荐指数
1
解决办法
328
查看次数

Common Lisp有一些功能.我如何写一些或任何elisp?

一个any功能将评估上的序列的元素的函数(或谓词),如果断言返回该序列的任何元件真正返回true.因此

(any `stringp `(42 t "yes" nil))
Run Code Online (Sandbox Code Playgroud)

..将返回非零,并且

(any `stringp `(42 t nil 89))
Run Code Online (Sandbox Code Playgroud)

...将返回零.

我认为someCL模块中有一个功能,但我不想使用它.

使用mapc编写一个简单的实现很容易:

(defun my-any (predicate sequence)
  "Return true if PREDICATE is true of any element of SEQUENCE.
If so, return the first non-nil value returned by PREDICATE.
"
  (let (result)
    (mapc '(lambda (elt)
             (or result
                 (setq result (funcall predicate elt))))
          sequence)
    result))
Run Code Online (Sandbox Code Playgroud)

但是,任何人都可以提供优化或改进吗?是否有更快或更清洁或更惯用的elisp方式来做到这一点?特别是当第一个序列触发时,停止映射序列的最佳方法是什么?我可以"展开"mapc,但这是最好的方法吗?

我想我可以使用catch但实际上可能比它节省的成本更多.

提示?

emacs elisp map

1
推荐指数
1
解决办法
149
查看次数