こんにちは、ウェブサイトを使用して人の名 (20 名) の性別を見つけようとしています.....
最初に、「開始:234 停止:543 注釈:ジョン」の形式で xml 要素を抽出しています。だから私はスペース区切り文字で分割された特定の要素のテキスト内容を読んで、ベクトルに渡します(NameBufferクラスはドンです)。今、私はすべての要素をベクトル オブジェクトとして持っています。注釈 (必要な名前がある場所) のみを取得するために、次のように fn.annotation を使用してベクター fn を反復し、文字列を読み取っています。
NameBuffer fln = null;
String[] names=null;
Vector<NameBuffer> fullNameVector = Execute.readNames(new File("/abc.xml"), "fullname");//Reading xml element split and put as vector object
Iterator itr1 = fullNameVector.iterator();
while(itr1.hasNext())
{
fln=(NameBuffer) itr1.next();
String st1 = fln.toString();
NameBuffer fn= new NameBuffer(st1); //NameBuffer class constructor takes each object in vector and split each object and returns contents like fn.start is 234,fn.stop is 543.fn.annotation is john....
URL url = new URL("http://www.gpeters.com/names/baby-names.php?name=fn.annotation");
HttpURLConnection connection = null;
try {
// Create connection
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
connection.setRequestProperty("Content-Language", "en-US");
connection.setUseCaches(false);
connection.setDoInput(true);
connection.setDoOutput(true);
connection.connect();
// Get Response
InputStream is = connection.getInputStream();
int status = connection.getResponseCode();
//System.out.println(status);
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
String line;
while ((line = rd.readLine()) != null) {
if(line.contains("It's a boy!"))
{
System.out.println(fn.annotation+"is Male");
}
if(line.contains("It's a girl!"))
{
System.out.println(fn.annotation+"is Female");
}
}
rd.close();
したがって、fn.annotation はすべての名前を返しますが、それをパラメーターとして url に渡すと、リクエストは実際の名前で送信されませんでした.... 構文ミスですか、それとも別の方法で行う必要がありますか?