この例では、スイッチのケースがあり、 "1"を入力すると、特定のポケットを入力するように指示します。クライアントメッセージパケット内に "ClientLoginRequest" 、 "CLIENTPC_LOGIN_RESPONSE"という値を持つ文字列を出力する必要があります。私のコードは出力のみが特定のノードすることができますし、それはので、ここでの要素、例えば、プログラムで定義された出力はC#XMLリーダ特定のパケットを検索して識別子を返します
あるので、それはConnectionPackets出力がコードされているのです...ここ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Threading.Tasks;
using System.IO;
using System.Xml.Linq;
namespace Packets
{
class Program
{
static void Main(string[] args)
{
string result = "C:\\Users\\Ivan.Apungan\\Documents\\PacketTypes.xml";
using (var stream = new StringReader(result))
{
XDocument xmlfile = XDocument.Load(result);
var query = from c in xmlfile.Descendants("ConnectionPackets") select c;
foreach (var item in query)
{
Console.WriteLine(item.ToString());
}
}
Console.ReadLine();
}
}
}
はxmlファイルです。
<? xml version="1.0" encoding="utf-8" ?>
<Packets>
<ConnectionPackets>
<PacketType name = "Handshake" > HANDSHAKE </ PacketType >
< PacketType name="HandshakeAcknowledgement">HANDSHAKE_ACKNOWLEDGEMENT</PacketType>
</ConnectionPackets>
<ClientMessagePackets>
<PacketType name = "ClientLoginRequest" > CLIENTPC_LOGIN_REQUEST </ PacketType >
< PacketType name="ClientLoginResponse">CLIENTPC_LOGIN_RESPONSE</PacketType>
</ClientMessagePackets>
</Packets>
ので、例えば、私はスイッチケース及びI入力「1」私はクライアント・メッセージ・パケットの内部に、それが必要出力Aが「ClientLoginRequest」を入力した場合、それは、特定のポケットの入力をユーザにプロンプトが表示されますを有しています"CLIENTPC_LOGIN_RESPONSE"という値を持つ文字列はどうすればいいですか?私のコードは出力のみ、特定のノードすることができますし、それはプログラムで定義された出力は
<ConnectionPackets>
<PacketType name = "Handshake" > HANDSHAKE </ PacketType >
< PacketType name="HandshakeAcknowledgement">HANDSHAKE_ACKNOWLEDGEMENT</PacketType>
</ConnectionPackets>