2017-05-03 8 views
0

私はHTMLを返すC#の投稿を持っています。私のポストは組織名をチェックし、その名前の組織のリストを返す。私の問題は、投稿がページ全体のHTMLを返し、私は組織のリストだけを望むということです。私はjsonに変換する必要があると思いますか?それとも別の可能性がありますか?htmlをjsonに変換するC#

Postメソッド:

WebRequest request = WebRequest.Create("http://www.mfinante.ro/numeCod.html"); 
// Set the Method property of the request to POST. 
request.Method = "POST"; 

// Create POST data and convert it to a byte array. 
string postData = "judet=40&name=ORACLE&submit=Vizualizare"; 
byte[] byteArray = Encoding.UTF8.GetBytes(postData); 
// Set the ContentType property of the WebRequest. 
request.ContentType = "application/x-www-form-urlencoded"; 
// Set the ContentLength property of the WebRequest. 
request.ContentLength = byteArray.Length; 

// Get the request stream. 
Stream dataStream = request.GetRequestStream(); 
// Write the data to the request stream. 
dataStream.Write(byteArray, 0, byteArray.Length); 
// Close the Stream object. 
dataStream.Close(); 

// Get the response. 
WebResponse response = request.GetResponse(); 
// Display the status. 
Console.WriteLine(((HttpWebResponse)response).StatusDescription); 
// Get the stream containing content returned by the server. 
dataStream = response.GetResponseStream(); 
// Open the stream using a StreamReader for easy access. 
StreamReader reader = new StreamReader(dataStream); 
// Read the content. 
string responseFromServer = reader.ReadToEnd(); 
// Display the content. 

Console.WriteLine(responseFromServer); 
// Clean up the streams. 
reader.Close(); 
dataStream.Close(); 
response.Close(); 
+0

1. htmlから必要な情報を抽出してください。2.オブジェクトを作成してください。3. jsonに変換してください。 –

+0

@LeiYang私はこれらのことを助けてくれますか? –

答えて

0

エンドポイントに応じて、あなたははJSONを求め、要求にヘッダを受け入れる追加する運を持っているかもしれません。

私は何WebRequestクラスに設定されることがありますが、それはそのようにして

request.Accept = "application/json"; 

のようなものかもしれないプロパティは、要求は、JSON形式で結果を返すようにサーバに要求しますしません。これはあなたにとってより使いやすいかもしれません。 失敗した場合は、HTMLからコンテンツを抽出し、オブジェクトを作成してからそのオブジェクトをJSONにシリアル化する必要があります。

+0

jsonを返すようには機能しません...どうすればHTMLからコンテンツを抽出できますか? –

0

JSONにHTMLを解析するための最良の方法は、

  1. HTML敏捷性パックを使用してHTMLを解析しています。
  2. HTMLの内容によっては、C#でクラスを作成してオブジェクトを作成することも、HTMLコンテンツが繰り返しである場合にオブジェクトのリストを作成することもできます。

    Class MyItem 
    { 
        int employeeId = 0; 
        string employeeName = String.Empty; 
    } 
    
    List<MyItem> list = new List<MyItem>(); 
    JavaScriptSerializer js = new JavaScriptSerializer(); 
    js.Serialize(list); 
    
0

あなたの質問に混乱を引き起こす可能性がありますなぜ私が教えてくれます。 HTMLの例を考えてみましょう:

<html> 
<body> 
<p> example of paragraph </p> 
</body>  
</html> 
Example of json: 

{"employees":[ 
{"firstName":"John", "lastName":"Doe"}, 
{"firstName":"Anna", "lastName":"Smith"}, 
{"firstName":"Peter", "lastName":"Jones"} 
]} 

JSONはHTMLが生成されている何か、または初期た基盤です。だから、もしあなたがhtmlをjsonに変換したいと言うと、これは本当に混乱します。なぜなら、この変換をどのルールにしたいのか分からないからです。または、jsonの作成中にhtmlのどのタグを無視/追加する必要があります。

+0

私は自分のjsonに、そのHTML応答のテーブルの行だけを追加したいと思っています –

+0

大丈夫です。 – Aaron

関連する問題