Запрос объекта XML-документа с использованием XPath - PullRequest
0 голосов
/ 19 сентября 2011

В настоящее время у меня есть веб-часть с кнопкой отправки и двумя текстовыми полями для номера телефона и почтового индекса.Когда телефонный номер и почтовый индекс введены в текстовые поля и нажата кнопка отправки, я хочу иметь возможность отправить строку запроса, которая запрашивает внешний API, а затем возвращает результаты запроса в форме объекта XML-документа.Затем мне нужно запросить этот объект с помощью XPath для отображения результатов, затем отформатировать или преобразовать эти результаты в HTML.Во-первых:

  1. Я создал объект документа XML (в классе), но я не слишком уверен, как затем запросить этот объект с помощью XPath для получения результатов.

  2. Я также не совсем уверен, как подключить кнопку отправки для выполнения строки запроса в упомянутом выше объекте XMLDocument.

Ниже приведен объект XMLDocument, которыйбудет запрашивать внешний API и возвращать результаты, в коде нет ошибок, все хорошо до сих пор:

using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml; // needed for the XML document object
using System.Xml.XPath; //needed to use Xpath to query the XMLDocument object
using System.Xml.Xsl; //needed to convert xml into HTML hopefully


namespace ACWebPart.VisualWebPart1
{
public partial class VisualWebPart1UserControl : UserControl
{


private XmlDocument performXmlCheck(string user, string pass, string phone, string postcode,  
string checks, string options)
{
//creating the XMLDocument object
XmlDocument xml = new XmlDocument();

//creating the query to run against the server
string url = String.Format("http://api.samknows.com/checker.do?user= {0} &pass={1} &phone={2}  
&postcode={3} &checks={4} &options={5} &output=xml", user, pass, phone, postcode, checks,  
options);

//to catch errors a try and catch will be created
try
{
//querying the server, parse the XML and store it
xml.Load(url);
}

catch
{
//if an execption is encountered (Server unreachable, HTTP500, HTTP 404, etc) return null
return null;
}

return xml;

}


protected void Page_Load(object sender, EventArgs e)
{
//creating the event habdler for the submit button
cmdSubmit.Click += new EventHandler(cmdSubmit_Click);

//Live validation of input text boxes to ensure they are not empty and have the correct input  
format
TextBox1.Attributes.Add("OnFocus", "if(this.value == 'Phone number') {this.value='',  
this.style.borderColor='#c4c4c4', this.style.color='#676767', this.style.fontStyle='normal'};");
TextBox1.Attributes.Add("OnBlur", "if(this.value == '') {this.value='Phone number',  
this.style.color='red', this.style.fontStyle='italic', this.style.borderColor='red'};");

TextBox2.Attributes.Add("OnFocus", "if(this.value == 'Postcode's) {this.value='',  
this.style.borderColor='#c4c4c4', this.style.color='#676767', this.style.fontStyle='normal'};");
TextBox2.Attributes.Add("OnBlur", "if(this.value == '') {this.value='Postcode',  
this.style.color='red', this.style.fontStyle='italic', this.style.borderColor='red'};");       

}




void cmdSubmit_Click(object sender, EventArgs e)
{







}

}
}

Многое не делали с XML в Sharepoint 2010, поэтому любая помощь и помощь по пунктам 1 и 2 вышеБуду очень признателен!

Заранее спасибо

1 Ответ

0 голосов
/ 19 сентября 2011

Чтобы выбрать узлы в XmlDocument с помощью XPath, вы можете использовать методы SelectSingleNode и SelectNodes .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...